我有一个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
?
答案 0 :(得分:2)
您可以使用$.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);
});