2011-08-01 36 views
1

我一直在試圖JSON字符串發送到PHP服務器這樣的我無法用json_decode()在PHP中解碼它。我可以刪除所有的轉義字符,但我真的懷疑這種將JSON數據發送到服務器的方式是安全的。最安全的方式JSON字符串發送到PHP服務器

所以,我想知道如何在簡單和安全(不一定是bulletfroof)方式如何做到這一點?

謝謝!

回答

4

你可以做'{"structure":' + JSON.stringify(structure) + '}'{structure: structure}

第一個是一個JSON字符串這樣的jQuery並不需要解析它。第二個是javascript對象,所以jQuery完全知道如何解析它。

但是你正在混合這兩個,所以jQuery很困惑,並重新編碼你的對象,因爲你只編碼了一半的對象。

因此,另一種方法是JSON.stringify({structure: structure })

+0

jQuery是不是「糊塗」,但它只是什麼它應該做的事:JSON編碼含有字符串的對象。 – deceze

+0

好吧,我爲我的語義道歉。 – Joe

+0

非常感謝!得到它的工作:) – Alvydas

0
$.ajax({ 
    type: "POST", 
    url: "themes.php?page=themeoptions", 
    data: structure,  
}); 

documentation報價:

dataObject時字符串

數據被髮送到服務器。這是 轉換爲查詢字符串,如果還沒有一個字符串。它附加到 GET請求的URL。請參閱processData選項以防止自動處理此 。對象必須是鍵/值對。如果value是 數組,則jQuery會根據傳統設置的 值(如下所述)使用相同的密鑰序列化多個值。

1

試試這個

$.ajax({ 
    type: "POST", 
    url: "themes.php?page=themeoptions", 
    data: {structure: structure},  
}); 
相關問題