2011-10-27 214 views
3

我有一個JS函數,通過使用JSON.stringify通過GET將json字符串傳遞給PHP腳本。json_decode在本地主機但不在web服務器上工作

在我的本地主機上,JSON在PHP端的解碼很好,但是一旦我將它移動到我的web服務器,它就停止工作。進一步的分析表明,我的網絡服務器正在向JSON字符串中添加\(斜線),並且根據JSONLint.com,帶斜線的字符串是無效的JSON。

在我的網絡服務器的JSON表示像這樣:

{\"Product\":\"Walnut Pastry\",\"Size\":\"Slice\",\"Quantity\":\"2\",\"Price\":0} 

這爲什麼會發生在我的網絡服務器,我能做些什麼來逃避字符串? 我試過json_decode(str_replace('/','',$_GET['json']),true);,但那也行不通

+0

「/」與「\」不同,或者只是使用反斜槓。 http://php.net/manual/en/function.stripslashes.php – xdazz

+0

這是一個不好的建議。在服務器上使用魔術引號執行的相同代碼將產生不良影響。 – Pauly

回答

5

看起來你有魔術引號。 Read Magic Quotes

此外,您應該注意手冊頁上的警告,然後將其關閉。

+0

謝謝。我會關掉它 – xbonez

相關問題