在关闭浏览器选项卡时,我正在尝试自动保存用户的更改。我已经在时间线的其他点验证了这项工作;使用相同的功能。我在unload
处理程序中调用它:
$( window ).unload(function() {
saveAnnotations(pdfState.pdfs[pdfState.activePdfIndex].PdfPages[pdfState.activePageIndex]);
});
保存用户的更改涉及该saveAnnotations
函数内的 RESTful PUT,使用Oboe库:
oboe({
url: configuration.rootApiUrl + 'PdfPages/' + page.ID,
method: 'PUT',
body: page
}).done(function(jobs) { // Our call does not provide a callback
if(callback !== undefined && _.isFunction(callback)) {
callback();
}
});
接收此信息的服务器是 Microsoft Web API 服务器。我在本地运行客户端和服务器进行测试。
在诊断这一点时,我将上面的代码编辑为 GET 而不是 PUT,它在服务器上的路由内遇到了断点。但是,在执行 PUT 时,我不会在选项卡关闭时点击该服务器路由内的断点。为什么它适用于 GET 而不是 PUT?我必须做什么才能让服务器接收我的 PUT?我的直觉是它是客户端,而不是服务器端。如果查看服务器路由会有所帮助,我可以发布它,但否则我不想让问题变得混乱。