測試你的上面的代碼給了我一個錯誤,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。
感謝,但我需要使用jQuery 1.4.4。使用Drupal 7和更新版本的jQuery會導致此平臺上的問題 – drupality
在jQuery版本1.5上添加了ajaxPrefilter。 –
你沒有提到jQuery版本btw。 –