ここで説明されているように、IO パイプライン トピックを使用して Dojo 1.6.1 xhr リクエストをインターセプトできます。
URL (fe &time=12345
) に時間パラメータを追加して、特定の (またはすべての) xhr GET リクエストのキャッシュを防止したいと思います (dojox.data.JsonRestStore
私が達成しようとしていることの詳細はこちら)。私のコードは次のようになります。
dojo.subscribe("/dojo/io/send", function(deferred) {
if (deferred.ioArgs.url.indexOf("restService1") > -1) {
deferred.cancel();
deferred.ioArgs.url += '&time=12345' // test value at this point
dojo.xhrGet(deferrred.ioArgs);
}
});
基本的に、リクエストをキャンセルし、URL に文字列を追加してから、変更された URL でリクエストを作成しようとしています。
これはまったく機能しません。URL が変更されたリクエストはサーバーに到達せず、ブラウザ コンソールに次のようなエラーが多数表示されます。
エラーは dojo.js の 14 行目で発生します。これらのエラーの後、Chrome タブは最終的にクラッシュします。
deferred.ioArgs.url
また、変更して他に何もしないことも試みましたが、効果はありません。