如何通过jQuery Ajax调用传递表单数据和我自己的变量?

时间:2013-09-21 14:33:57

标签: jquery ajax form-data

这是我的工作代码:

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

我想添加一个要传回的变量以及名为'myVar'的select和textbox选项值。但是当我添加它时,我没有在参数中看到它:

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
}
});

我做错了吗?我是否需要序列化或编码URI组件?似乎没有什么影响它。我仍然得到选择和文本框数据,但myVar在$ _POST方面根本没有。

思想?

1 个答案:

答案 0 :(得分: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