是否可以扩展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请求中,而不会在每个数据对象中隐式地写入它?
谢谢。
发布于 2016-12-27 15:41:21
您可以使用ajaxSetup。这样做一次:
$.ajaxSetup({data: { "data4": window.someGlobalVar }});然后,任何后续的$.ajax调用,比如您编写的调用,都将包括这个数据值。
发布于 2016-12-27 15:31:18
你可以用jQuery的ajaxPrefilter
它是一个过滤器,它将在执行之前执行--每个 ajax。在这里,可以将选项传递给$.ajax方法,并且可以extend新属性,如下所示:
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
originalOptions.data.data4 = $("#dataField4").val()
});https://stackoverflow.com/questions/41347856
复制相似问题