如何获得$ .ajax设置作为回应?

时间:2014-06-05 22:06:24

标签: jquery ajax

我想知道原始的$ .ajax()调用是否使用dataType: 'text'进行。

无论如何在.done()处理程序中看到这个?我正在尝试$.ajaxSettings(),但我没有看到dataType的选项。

2 个答案:

答案 0 :(得分:3)

如果没有为ajax设置显式设置context参数,那么this内的.done()指针就是您启动ajax调用时创建的jqXHR对象(添加承诺方法)。该对象包含您使用的所有自定义设置,例如dataType。因此,您只需引用dataType

即可
this.dataType

中的.done()处理程序中的

$.ajax('example.php', {dataType: "json"}).done(function(data) {
    var type = this.dataType;
});

如果您使用的context属性将更改this,那么您可以在进行ajax调用之前将dataType保存在本地变量中,并通过该闭包访问它:

function yourFunc() {
    var type = "json";
    $.ajax('example.php', {dataType: type, context: someOtherObject}).done(function(data) {
        // can access the local variable type here
    });
}

答案 1 :(得分:0)

如何做到以下几点:

.done(function(data){ console.log(this.dataType); });
在该上下文中,

this表示在启动ajax调用时创建的jqXHR对象。