我有一个jquery ajax请求为:
$.ajax({
type: "POST",
url: "calculate.php",
data: {},
dataType: 'json',
success: function (response) {
}, error: function (jqXHR, textStatus, errorThrown) {
}
});
在AJAX启动之前,我想将一个参数发送到函数 ajaxStart
,如下
$(document).ajaxStart(function (xxx) {
alert("parameter equals to="+xxx);
});
启动请求时,如何将参数xxx
发送到ajaxStart
?是否可以将参数发送到ajaxStart
?
您可以使用$.ajaxSetup
或$.ajaxSend
在请求发生之前更改请求中发送的数据。像
$(document).ajaxSend(function( event, jqxhr, settings ) {
settings.data = settings.data + '¶m=value'
});
一种更可扩展的方法是使用$.param
并在扩展之前检查是否存在数据
$(document).ajaxSend(function( event, jqxhr, settings ) {
var params = {param : 'test'};
var sep = settings.data && settings.data.length ? '&' : '';
settings.data = settings.data + sep + $.param(params);
});