有没有办法使$ .ajaxSetup()的范围扩展到函数体?我无法获得$ .ajaxSetup()来影响函数中的$ .ajax()调用。这是一个例子:

使用以下代码,由函数foo()发送的ajax请求不包括ajaxSetup中指定的testHeader:

$.ajaxSetup({
    headers: {
        testHeader: testValue
    }
});
function foo(theData) {
    $.ajax({
        url: testUrl,
        data: theData,
        type: 'POST',
        contentType: 'application/json',
        dataType: 'json'
    });
}


但是,使用以下代码,testHeader确实包含在foo()发送的ajax请求中。

function foo(theData) {
    $.ajaxSetup({
        headers: {
            testHeader: testValue
        }
    });
    $.ajax({
        url: testUrl,
        data: theData,
        type: 'POST',
        contentType: 'application/json',
        dataType: 'json'
    });
}


我认为ajaxSetup()应该是全局的,其范围应扩展到函数体。我想念什么?谢谢。

最佳答案

“全球”可能用词不当。

$ .ajaxSetup将仅影响当前的jQuery对象。如果您在另一个页面中加载jQuery,它将不会受到影响。

关于javascript - 全局$ .ajaxSetup()调用不影响单独函数中的$ .ajax()调用吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20887584/

10-11 12:40