如何在ajaxSend中正确添加数据参数?

Cod*_*ium 1 javascript php ajax jquery jquery-1.4

在某些情况下,我需要以编程方式将POST参数添加到AJAX请求中.

我正在尝试这样的事情:

$(document).ajaxSend(function(event, jqXHR, ajaxOptions) {
    ajaxOptions.data = "additional_key=additional_value&" + ajaxOptions.data;
    ajaxOptions.context.data = "additional_key=additional_value&" + ajaxOptions.context.data;
    console.log(ajaxOptions, 'ajaxOptions');
});
Run Code Online (Sandbox Code Playgroud)

但additional_key不会出现在$ _POST数组中.

Lud*_*ume 9

你可以使用ajaxPrefilter这个:

$.ajaxPrefilter(function(options, originalOptions, jqXHR) {
    if (originalOptions.type !== 'POST' || options.type !== 'POST') {
        return;
    }

    options.data = $.extend(originalOptions.data, { yourdata : yourvalue });
});
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅http://api.jquery.com/jquery.ajaxprefilter/.

  • 你没有提到jQuery版btw. (3认同)