我正在使用XMLHttpRequest将JSON字符串POST到PHP。 JSON对象是在JavaScript中创建的,并使用json.org中的JSON2.js创建表示对象的JSON字符串。
JSON.stringify(object);
每当对象包含一个在其中包含特殊字符的字符串时,例如é,JavaScript没有给出任何错误,但PHP收到一个空数组
[]
是否有一个JavaScript函数可以生成与PHP函数完全相同的resutls
htmlentities()
数据通过POST发送,因此以下功能
escape()
encodeURI()
encodeURIComponent()
有点矫枉过正。
谢谢!
答案 0 :(得分:6)
即使通过POST发送内容,您仍需要正确地进行urlencode。如果&符号在JSON正文中,则会将其视为参数/值对分隔符,并且您的JSON将不再有效。
不推荐使用 escape()
,因此请使用encodeURIComponent()
。它不应该是矫枉过正,因为这是该功能的预期目的之一。