没有指定dataType的自定义ajaxTransport函数没有触发(全部!)

前端之家收集整理的这篇文章主要介绍了没有指定dataType的自定义ajaxTransport函数没有触发(全部!)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在尝试设置 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

猜你在找的Ajax相关文章