我一直在尝试设置
custom ajaxTransports for jQuery,以便在某些情况下为我们的产品缩短某些工作流程.然而,我没有成功地使这些运输得到尊重(而我有许多工作
custom ajaxPrefilters).
测试了多个版本的jQuery:
> 1.5.2
> 1.6.4
> 1.7.2
> 1.8.0
使用多个浏览器进行测试:
> Firefox 15
> Chrome 21
> iOS 5网页浏览量
…
他们都没有工作.
JsFiddle测试用例:http://jsfiddle.net/PVYut/
…
如果我添加一个dataType来缩小它,那么它工作正常.
JsFiddle测试用例:http://jsfiddle.net/PVYut/1/
…
我只是做错了吗?我很高兴被告知,只要我能让这个工作! -_-
解决方法
$.ajaxTransport("+*",function(options,originalOptions,jqXHR,headers,completeCallback ) { console.log("Executing ajaxTransport"); return { send: function( headers,completeCallback ) { completeCallback(404,"error",{}); },abort: function() { /* abort code */ } } }); $.ajax("?jqTrans=" + (+(new Date()))) .done(function() { console.log("ERROR: Should not have been successful!"); }) .fail(function() { console.log("SUCCESS: Should have Failed."); });
这是jsFiddle