2013-07-25 191 views
0

我想通過Ajax發佈以下內容。我怎樣才能做到這一點 ?如何通過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="[email protected]"> 
<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。所以我無法控制服務器。

+0

發佈錯誤,請 – vladkras

+0

您的json不適合JavaScript解析器, []符號不允許在對象的屬性名稱中,Jayantha的第二個解決方案是正確的。 –

回答

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} 
0

嘗試serialize()以避免錯誤

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