Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSON htmlentities javascript_Javascript_Json_String_Special Characters - Fatal编程技术网

JSON htmlentities javascript

JSON htmlentities javascript,javascript,json,string,special-characters,Javascript,Json,String,Special Characters,我使用XMLHttpRequest将JSON字符串发布到PHP。JSON对象是在JavaScript中创建的,并使用JSON.org中的JSON2.js创建表示该对象的JSON字符串 JSON.stringify(对象) 每当对象包含一个包含特殊字符的字符串时,例如é,JavaScript不会给出任何错误,但PHP会收到一个空数组 [] 是否有一个JavaScript函数可以产生与PHP函数完全相同的结果 htmlentities() 数据通过POST发送,因此以下功能 escape() enc

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

JSON.stringify(对象)

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

[]

是否有一个JavaScript函数可以产生与PHP函数完全相同的结果

htmlentities()

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

escape()
encodeURI()
encodeURIComponent()
有点过分了


谢谢

即使通过POST发送内容,您仍然需要正确地进行URL编码。如果符号和字符位于JSON正文中,则会将其视为参数/值对分隔符,JSON将不再有效


escape()
已被弃用,因此请使用
encodeURIComponent()
。这不应该过分,因为这是函数的预期用途之一。

像JQuery这样的库将对you@Andy:jQuery不做任何本机不可用的事情-它使用
encodeURIComponent()
@Andy E当然不是,但是,为什么要在AJAX库大量存在的情况下重新发明这个轮子呢?如果要创建JSON,你不想使用与Htmlenties()等价的代码,因为这会将结果编码为注入HTML,而不是Javascript