javascript - 全局 $.ajaxSetup() 调用不会影响单独函数中的 $.ajax() 调用吗?

标签 javascript ajax jquery

有没有办法让 $.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/

相关文章:

javascript - 如何从动态创建的按钮传递参数?

javascript - 使用 javascript 而非 jQuery 的简单 ajax 表单

javascript - 通过ajax重定向到页面

jquery - Bootstrap轮播最后一项将隐藏右侧控件

javascript - 如何从 iframe 内部捕获 iframe resize 事件(iframe 和页面 - 同一域)

javascript - 如何将数据值从 View 传递到 Django 中的模板?

javascript - 如何对多个对象数组使用 ng-repeat?

javascript - 实时更新标记

javascript - 如何使用 browserify-shim 正确地填充 jquery/Backbone

php - 大崩OrgChart格式数组