我在不同情况下使用以下ajax调用:
$.ajax({
url: '...',
type: "POST"
data: {val: '1', test: 'test1' },
...
});
我希望,对于每个ajax启动和“POST”方法,只需要向data
属性添加参数。
我用过这个:
$(document).ajaxStart(function(){
//if type is POST then
// data.myProp = 1; or similar
});
如何从ajaxStart获取data
和type
?
修改
如果我使用ajax.preFilter,则无法正常工作。
所以:
$.ajaxPrefilter(function(options, originalOptions, jqXHR) {
if (originalOptions.type === 'POST' || options.type === 'POST') {
options.data = $.extend(originalOptions.data, { myProp : 1});
}
});
然后:
$.ajax({
...,
data: { myItem: 'tes' },
...
});
然后data
将不会包含myProp
,因为$.ajax
声明会覆盖来自data
ajax.preFilter
上的数据
我希望将myProp
和myItem
参数发送到服务器上的某个位置。
答案 0 :(得分:0)
您可以使用ajaxPrefilter:
$.ajaxPrefilter(function(options, originalOptions, jqXHR) {
if (originalOptions.type === 'POST' || options.type === 'POST') {
options.data = $.extend(originalOptions.data, { myProp : 1});
}
});