我可以使用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
并且什么都不做,但这没有任何效果。