JSON htmlentities javascript

时间:2010-03-17 13:25:10

标签: javascript json string special-characters

我正在使用XMLHttpRequest将JSON字符串POST到PHP。 JSON对象是在JavaScript中创建的,并使用json.org中的JSON2.js创建表示对象的JSON字符串。

JSON.stringify(object);

每当对象包含一个在其中包含特殊字符的字符串时,例如é,JavaScript没有给出任何错误,但PHP收到一个空数组

[]

是否有一个JavaScript函数可以生成与PHP函数完全相同的resutls

htmlentities()

数据通过POST发送,因此以下功能

escape()
encodeURI()
encodeURIComponent()

有点矫枉过正。

谢谢!

1 个答案:

答案 0 :(得分:6)

即使通过POST发送内容,您仍需要正确地进行urlencode。如果&符号在JSON正文中,则会将其视为参数/值对分隔符,并且您的JSON将不再有效。

不推荐使用

escape(),因此请使用encodeURIComponent()。它不应该是矫枉过正,因为这是该功能的预期目的之一。