1

这是我的工作代码:

jQuery.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: jQuery('select[name^="option"], :input[name^="option"]),
success: function (mydata) {
    // do something
}
});

我想添加一个要与名为“myVar”的选择和文本框选项值一起传回的变量。但是当我添加它时,我没有在参数中看到它:

var myVar = '123';

jQuery.ajax({
type: 'post',
url: ajaxurl,
dataType: 'json',
data: jQuery('select[name^="option"], :input[name^="option"], myvar='+myVar),
success: function (mydata) {
    // do something
}
});

难道我做错了什么?我需要序列化或编码URIcomponent 吗?似乎没有什么影响它。我仍然得到选择和文本框数据,但 myVar 根本没有出现在 $_POST 端。

想法?

4

1 回答 1

2

你有没有尝试过:

 var myVar = '123';
 jQuery.ajax({
    type: 'post',
    url: ajaxurl,
    dataType: 'json',
    data: jQuery.param(jQuery('select[name^="option"]').val()) + jQuery.param(jQuery('input[name^="option"]').val()) + '&myvar=' + myVar,
    success: function (mydata) {
        // do something
    }
  });

我认为你也可以使用traditional: true而不是param

于 2013-09-21T14:42:39.723 回答