我一直在試圖JSON字符串發送到PHP服務器這樣的我無法用json_decode()在PHP中解碼它。我可以刪除所有的轉義字符,但我真的懷疑這種將JSON數據發送到服務器的方式是安全的。最安全的方式JSON字符串發送到PHP服務器
所以,我想知道如何在簡單和安全(不一定是bulletfroof)方式如何做到這一點?
謝謝!
我一直在試圖JSON字符串發送到PHP服務器這樣的我無法用json_decode()在PHP中解碼它。我可以刪除所有的轉義字符,但我真的懷疑這種將JSON數據發送到服務器的方式是安全的。最安全的方式JSON字符串發送到PHP服務器
所以,我想知道如何在簡單和安全(不一定是bulletfroof)方式如何做到這一點?
謝謝!
你可以做'{"structure":' + JSON.stringify(structure) + '}'
或{structure: structure}
第一個是一個JSON字符串這樣的jQuery並不需要解析它。第二個是javascript對象,所以jQuery完全知道如何解析它。
但是你正在混合這兩個,所以jQuery很困惑,並重新編碼你的對象,因爲你只編碼了一半的對象。
因此,另一種方法是JSON.stringify({structure: structure })
$.ajax({
type: "POST",
url: "themes.php?page=themeoptions",
data: structure,
});
從documentation報價:
dataObject時字符串
數據被髮送到服務器。這是 轉換爲查詢字符串,如果還沒有一個字符串。它附加到 GET請求的URL。請參閱processData選項以防止自動處理此 。對象必須是鍵/值對。如果value是 數組,則jQuery會根據傳統設置的 值(如下所述)使用相同的密鑰序列化多個值。
試試這個
$.ajax({
type: "POST",
url: "themes.php?page=themeoptions",
data: {structure: structure},
});
jQuery是不是「糊塗」,但它只是什麼它應該做的事:JSON編碼含有字符串的對象。 – deceze
好吧,我爲我的語義道歉。 – Joe
非常感謝!得到它的工作:) – Alvydas