jQuery ajax“data”字段,包含混合数据

时间:2011-03-29 19:00:11

标签: javascript jquery json ajax html-form

我有一个包含一些字段的表单:

<form id="unit">
  <input type="hidden" name="item_id" value="100" />
  <input type="hidden" name="name" value="item one" />
  <select name="option[1]">
    <option value="1">1GB</option>
    <option value="2">8GB</option>
  </select>
  <select name="option[2]">
    <option value="3">Red</option>
    <option value="4">Blue</option>
  </select>
</form>

我想通过jQuery ajax传递数据,所以我正在使用:

$.ajax({
    type: 'post',
    url: 'index.php?route=product/options_plus_redux/updateImage',
    dataType: 'json',
    data: $('form#unit :input'),
    success: function (data) {
        //do something here...
    }
});

这很好用。但是,我想在表单字段中添加另一位数据。但我无法弄清楚它的语法。我知道,因为选择框被命名为“选项”,它将尝试序列化该数组。但基本上我是想做的:

data: $('form#unit :input') +'x=test',

但它回来时非常错误

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

data: $('form#unit').serialize() +'&x=test',

查看jQuery form serialization

你可以看到它在这里运行:http://jsfiddle.net/maniator/pfb2c/

答案 1 :(得分:0)

var data = $('form#unit :input');
data.x = "test";
.......

url: 'index.php?route=product/options_plus_redux/updateImage',
dataType: 'json',
data: data,
.......