2011-10-27 169 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

相关问题