测试你上面的代码给了我一个ajaxOptions.context
未定义的错误。
首先,我建议您先检查是否存在:(假设将要定义上下文)
if(ajaxOptions.context) {
ajaxOptions.context.data = "additional_key=additional_value&" + ajaxOptions.context.data;
} else {
ajaxOptions.data = "additional_key=additional_value&" + ajaxOptions.data;
}
发送模拟 AJAX 请求向我表明,在 Firebug 中检查数据时正在传递数据。
我通过删除上下文行来测试代码,它似乎工作:
代码:
$(document).ajaxSend(function(event, jqXHR, ajaxOptions) {
if(ajaxOptions.context) {
ajaxOptions.context.data = "additional_key=additional_value&" + ajaxOptions.context.data;
} else {
ajaxOptions.data = "additional_key=additional_value&" + ajaxOptions.data;
}
});
$.ajax({
'url': 'test.php',
'data': {'foo':'bar'},
'type': 'POST'
});
检查:
Key Value
additional_key additional_value
foo bar
编辑:使用 JQuery 1.7.1 测试我注意到您正在运行较低版本的 jQuery。