首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery:将子对象添加到页面上每个ajax请求的“数据”对象中。

jQuery:将子对象添加到页面上每个ajax请求的“数据”对象中。
EN

Stack Overflow用户
提问于 2016-12-27 15:27:44
回答 2查看 135关注 0票数 0

是否可以扩展jQuery.ajax方法,以便在任何/每个ajax请求中向jQuery.ajax.data添加一些静态子数据对象?

例如,如果我的ajax请求之一是:

代码语言:javascript
复制
jQuery.ajax({
    url: 'request_file.php',
    data: {
        data1: $("#dataField1").val(),
        data2: $("#dataField2").val(),
        data3: $("#dataField3").val()
    },
    // ...
    success: function (result)
    {
        // ...
    },
    // ...
});

我还希望"data4: window.someGlobalVar“能够自动添加到这个页面和页面上的任何其他ajax请求中,而不会在每个数据对象中隐式地写入它?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-27 15:41:21

您可以使用ajaxSetup。这样做一次:

代码语言:javascript
复制
$.ajaxSetup({data: { "data4": window.someGlobalVar }});

然后,任何后续的$.ajax调用,比如您编写的调用,都将包括这个数据值。

票数 1
EN

Stack Overflow用户

发布于 2016-12-27 15:31:18

你可以用jQuery的ajaxPrefilter

它是一个过滤器,它将在执行之前执行--每个 ajax。在这里,可以将选项传递给$.ajax方法,并且可以extend新属性,如下所示:

代码语言:javascript
复制
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
    originalOptions.data.data4 = $("#dataField4").val()
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41347856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档