ブラウザのタブを閉じるときに、ユーザーの変更を自動保存しようとしています。これがタイムラインの他の時点で機能することを確認しました。同じ関数が使用されます。unload
私はハンドラでそれを呼び出します:
$( window ).unload(function() {
saveAnnotations(pdfState.pdfs[pdfState.activePdfIndex].PdfPages[pdfState.activePageIndex]);
});
ユーザーの変更を保存するには、 OboeライブラリsaveAnnotations
を使用して、その関数内で RESTful PUT を実行する必要があります。
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 サーバーです。テストのためにクライアントとサーバーの両方をローカルで実行しています。
これを診断する際に、上記のコードを PUT ではなく GET に編集し、サーバー上のルート内のブレークポイントにヒットしました。ただし、PUT を実行すると、タブを閉じるときにそのサーバー ルート内のブレークポイントにヒットしません。PUT ではなく GET で機能するのはなぜですか? サーバーが PUT を受信できるようにするにはどうすればよいですか? サーバー側ではなく、クライアント側だと思います。サーバールートを確認するのが役立つ場合は、それを投稿できますが、それ以外の場合は質問を混乱させたくありません.