我如何通过ajax传递数组

时间:2013-07-25 03:28:13

标签: api jquery

我想通过Ajax发布以下内容。我怎么能这样做?

<form method="post" action="http://supersaas.com/api/users">
<input type="hidden" id="account" value="robintest">
 <input type="hidden" id="id" value="59fk"> 
<input type="hidden" id="user[name]" name="user[name]" value="robin@gmail.com">
<input type="hidden" id="user[full_name]" name="user[full_name]" value="thomas">
<input type="hidden" id="user[phone]" name="user[phone]" value="">
<input type="hidden" id="user[address]" name="user[address]" value="">
<input type ="submit" name="submit" value="submit">
</form>

我尝试了以下代码

 $.ajax({
 type: "post",
 url: "http://http://www.supersaas.com/api/users",
 data: {account:'sixcreeksTest', id:id,user[name]:name,user[address]:address}
 }).done(function( result ) {
 alert(result);
 });

但这会产生语法错误..

我需要传递变量,因为我要传递给SAAS。所以我无法控制服务器。

2 个答案:

答案 0 :(得分:1)

您可以像这样传递json对象,

data: {account:'sixcreeksTest', id:id,checksome:checksome,user:{name:name,address:address}}

或者如果您需要将其作为表单数据而不是json传递,您可以这样做,

data: {account:'sixcreeksTest', id:id,'user[name]':name,'user[address]':address}

答案 1 :(得分:0)

尝试serialize()以避免错误

 $.ajax({
   type: "post",
   url: "http://http://www.supersaas.com/api/users",
   data: $('form').serialize(), 
   success: function(result) {
     alert(result);
   }
 });