I’m able to intercept Dojo 1.6.1 xhr requests using IO Pipeline Topics as described here:
I would like to add a time parameter to the URL (f.e. &time=12345) to prevent cache in certain (or all) xhr GET requests originating from dojox.data.JsonRestStore (details of what I’m trying to achieve are here). My code looks like this:
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);
}
});
Basically I’m trying to cancel the request, add a string to URL and then make the request with the modified URL.
This does not work at all: the request with modified URL does not end up to the server and I’m getting a lot of these errors to browser console:

The errors occur in line 14 of dojo.js. The Chrome tab crashes eventually after these errors.
I also tried just modifying deferred.ioArgs.url and doing nothing else but that has no effect.
The answer comes once again from Sven Hasselbach:
http://openntf.org/XSnippets.nsf/snippet.xsp?id=cache-prevention-for-dojo-xhr-requests
Tried it out and it does exactly what I was looking for by adding
&dojo.preventCache=1359366392301parameter to the xhr URLs. And it seems to add a cache-control header too.