2010-10-04 69 views
4

試圖讓jQuery來張貼JSON到服務器:發帖JSON使用jQuery

$.ajax({ 
    url: "/path/to/url", 
    type: "POST", 
    dataType: "json", 
    contentType: "json", 
    data: {"foo": "bar"}, 
    success: function(){    
    alert("success :-)"); 
    }, 
    error: function(){ 
    alert("fail :-("); 
    } 
}); 

問題是數據出現在服務器"foo=bar"而不是期望"{\"foo\":\"bar\"}上。

我以爲指定dataType或contentType參數會做的伎倆,但沒有。

任何人都知道正確的ajax配置? [或者在發佈之前將[數據]參數序列化爲JSON的方式]

謝謝!

回答

10

你可以使用json2.js

data: JSON.stringify({"foo": "bar"}) 
1

數據類型是返回的數據。內容類型不適用,請參閱here

它只能發送字符串,我在我創建的JavaScript對象上使用JSON.stringify,在您的情況下您可以手動編寫字符串。

你還需要,如果你使用的是Java,我可以recommened谷歌的gson

訪問字符串在服務器端,對於