如何在循环中将多个变量传递到ajax json数据中。

时间:2014-11-28 02:15:44

标签: javascript jquery ajax json

我有以下代码,我想将值[i]传递给json ajax post submit中的数据字符串,基本上我要做的是抓取表单中的所有选中值并将它们放入ajax中现有的json数据字符串。

到目前为止

代码

 var values = $('input:checked').map(function () {
    return this.value;
}).get(); // ["18", "55", "10"]
//console.log(values);

var length = values.length;

for (i = 0; i < length; i++){
    console.log(values[i]);


}



 $.ajax({
type:"POST"
,url : $(form).prop('action')
,data:{
name:getValue($('label.name input'))
,email:getValue($('label.email input'))
,phone:getValue($('label.phone input'))
,fax:getValue($('label.fax input'))
,state:getValue($('label.state input'))
,message:getValue($('label.message textarea'))
,owner_email:opt.ownerEmail||'#'
,stripHTML:opt.stripHTML
}

2 个答案:

答案 0 :(得分:2)

您可以先创建对象,然后像这样传递:

  var obj= new Object();
  obj.name=getValue($('label.name input'));
  ...
  obj.values:values

$.ajax({
type:"POST"
,url : "YOUR URL"
,data: JSON.Stringify(obj)
 });
是的,是的 祝你好运

答案 1 :(得分:1)

设置变量数据,为其添加值键,然后在AJAX请求中发送。

var values = $('input:checked').map(function () {
    return this.value;
}).get(); // ["18", "55", "10"]

var data = {
    name       : getValue($('label.name input')),
    email      : getValue($('label.email input')),
    phone      : getValue($('label.phone input')),
    fax        : getValue($('label.fax input')),
    state      : getValue($('label.state input')),
    message    : getValue($('label.message textarea')),
    owner_email: opt.ownerEmail||'#',
    stripHTML  : opt.stripHTML,
    values     : values
}

$.ajax({
    type: "POST",
    url : $(form).prop('action'),
    data: data
});