没有指定 dataType 的自定义 ajaxTransport 函数不会触发(根本!)

2024-03-27

我一直在尝试设置jQuery 的自定义 ajaxTransports http://api.jquery.com/extending-ajax/#Transports在我们的产品的某些场景下缩短某些工作流程。然而,我在让这些运输受到尊重方面取得了零成功(而我有很多工作自定义 ajaxPrefilters http://api.jquery.com/extending-ajax/#Prefilters).

使用多个版本的 jQuery 进行测试:

  • 1.5.2
  • 1.6.4
  • 1.7.2
  • 1.8.0

使用多个浏览器进行测试:

  • 火狐15
  • 铬21
  • iOS 5 网络视图

...

他们都没有工作。

JsFiddle测试用例: http://jsfiddle.net/PVYut/ http://jsfiddle.net/PVYut/

...

如果我添加一个dataType缩小范围,然后就可以正常工作了。

JsFiddle测试用例: http://jsfiddle.net/PVYut/1/ 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.");  
    });

Here is jsFiddle http://jsfiddle.net/PVYut/2/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

没有指定 dataType 的自定义 ajaxTransport 函数不会触发(根本!) 的相关文章