将dataTypes添加到jQuery.ajax?

时间:2011-01-03 10:47:32

标签: jquery

jQuery.ajax({dataType:...})支持几种已知的dataTypes(xml,json,jsonp,script,text或html)。

有没有办法添加自己的数据类型处理程序,如:

var wcf = function(data){...}

jQuery.ajax({dataType:wcf, ...});

显然我已经尝试过这个,但它不起作用。但还有另一种方式吗?

2 个答案:

答案 0 :(得分:1)

您可以创建自己的jQuery.ajax函数实现,例如:

(function($) {
    var ajax = $.ajax;
    $.ajax = function(o) {
        // perform some custom logic here...
        var result = ajax.apply(this, arguments);
        // ...and here
        return result;
    }
});

答案 1 :(得分:1)

实际上没有一种干净的方法,至少不是jQuery 1.4.4,因为if()内有大量$.ajax()检查依赖于数据类型,而< em>那是他们目前如何“支持”。但是,jQuery 1.4.5在这里会有一些有趣的变化。

如果您感到好奇,可以浏览github以获取最新信息,并通过划分传输代码来了解如何使jQuery AJAX行为更加可扩展<{3>}