2012-12-11 21 views
10

最初に呼び出されたときに処理に時間がかかり、その結果をHttpRuntime.CacheにキャッシュするWCFサービスがあります。このキャッシュを初期化するには、javascriptからfire-and-forget ajax呼び出しをトリガーしたいと思います。 PrimeCacheAjax機能だけでダミーの呼び出しを実行一方向のajax呼び出しを呼び出す

$.ajax({ 
    type: 'GET', 
    url: getServiceURL() + 'PrimeCacheAjax', 
    contentType: 'application/json; charset=utf-8' 
}); 

キャッシュを移入する:

は、今私は、ページ内にこのJavaScriptを持っています。

このアプローチの唯一の問題は、このajax呼び出しのあるページは、javascriptを実行して別のウィンドウを開き、それ自身を閉じるランディングページの一種だということです。サーバーが応答する前にウィンドウが閉じると、フェドラーでキャンセルされた要求が表示されます。私は、これがAjaxコールがサーバに届かない状況につながる可能性があることを心配しています。これは可能でしょうか?

応答が返されないように指定する方法はありますか(それとも実際には問題ありませんか)。

+6

コールバックなしで '$ .ajax'呼び出しを実行するだけで、コードが行うことになります。 – Blazemonger

答えて

7

重要なのは、サーバーへの要求が完了していない場合だけです。終了する前に、コールがreadyState値2 [aka sent]であることを確認する必要があります。

+0

'readyState == 2 'を待っているのは、OPから待っていた時間よりわずかに*長くなっているサーバからの応答ヘッダを待っていることを意味しますが、XHR APIを使用して。 – apsillers

+0

どのようにajax要求がバッファをフラッシュするサーバーに反応するか考えてみませんか?私はiframeを使用して、サーバー側のスクリプトが要求の処理を継続している間に、iframeを削除するiframeに

0

コールバックなしでコールするだけで、F & Fメソッドを許可するプロパティは存在しません。

非常に短いajax呼び出しでは、必要に応じて次のコードを試してみることもできます。

$.get('URL');