2011-03-01 45 views
0

使用jQuery 1.4.4版,我無法得到適當的JSON輸出,當我打電話或阿賈克斯.post的類似如下:JQuery的.POST功能dataType參數似乎沒有做任何事情

$.ajax({type: "POST", url: callbackUri, data: { cow: ["oh", "hello", "there"]}, success: returnFunction, dataType: "json"}); 

或以下內容:

$.post(callbackUri, { cow: ["oh", "hello", "there"]}, returnFunction, "json");. 

HTTP請求的身體看起來像這樣在兩種情況下:

cow%5B%5D=oh&cow%5B%5D=hello&cow%5B%5D=there 

這是PROBA bly一個非常簡單的配置問題。任何幫助表示讚賞!

回答

3

根據您的評論「HTTP請求的正文...」您可能會誤解JSON選項的作用。它指定了請求期望從服務器返回的數據類型 - 它與數據發送到服務器的格式沒有任何關係。

的HTTP請求的主體將是在所有情況下是相同的,除非你創建一個JSON字符串,並把它作爲一個值。

1

發送到服務器的數據(HTTP請求主體)沒有任何問題。

dataType參數是什麼類型的返回值從服務器應該的。 'json'意味着jQuery會自動將響應解析爲JSON。

檢查您的服務器的響應,它可能不是有效的JSON。

+1

非常好,謝謝。當它說「從服務器期望的數據類型」時,我誤解了文檔。我現在通過JSON.stringify(數據),它工作正常。 – cansado 2011-03-01 17:16:57

相關問題