Javascript jQuery:将子对象添加到";“数据”;在页面上的每个ajax请求上

Javascript jQuery:将子对象添加到";“数据”;在页面上的每个ajax请求上,javascript,jquery,ajax,Javascript,Jquery,Ajax,是否可以扩展jQuery.ajax方法,以便在任何/每个ajax请求中向jQuery.ajax.data添加一些静态子数据对象 例如,如果我的一个ajax请求是: jQuery.ajax({ url: 'request_file.php', data: { data1: $("#dataField1").val(), data2: $("#dataField2").val(), data3: $("#dataField3").val

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

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

jQuery.ajax({
    url: 'request_file.php',
    data: {
        data1: $("#dataField1").val(),
        data2: $("#dataField2").val(),
        data3: $("#dataField3").val()
    },
    // ...
    success: function (result)
    {
        // ...
    },
    // ...
});
我还希望“data4:window.someGlobalVar”能够自动添加到这个页面以及页面上的任何其他ajax请求中,而不会隐式地写入每个数据对象中

谢谢。

你可以用

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

$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
    originalOptions.data.data4 = $("#dataField4").val()
});
你可以用

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

$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
    originalOptions.data.data4 = $("#dataField4").val()
});
你可以用。这样做一次:

$.ajaxSetup({data: { "data4": window.someGlobalVar }});
然后,任何后续的
$.ajax
调用,如您编写的调用,都将包含此数据值。

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

$.ajaxSetup({data: { "data4": window.someGlobalVar }});

然后,任何后续的
$.ajax
调用,就像您编写的调用一样,都将包含此数据值。

+1供参考,但是@nvioli的方法更短,并且完全是为了这个目的而编程的。无论如何,谢谢你的建议,+1,但是@nvioli的方法比较短,而且编程也正是为了这个目的。无论如何,谢谢。正是我想要的。谢谢,正是我想要的。谢谢