&安培;字符休息由php收到json

时间:2014-07-22 11:18:51

标签: javascript php ajax

我有一个包含更多对象的数组。如果一个对象包含&字符,&之后的每个对象没有收到PHP。可能是什么问题?

这是AJAX

xmlhttp.open("POST", "get.php");
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send('data='+JSON.stringify(x));

这是PHP

$json = $_POST['data'];
echo $json;

输入时

a&b

我得到了

[[{"x":x,"y":"x","z":"z"}],[{"w":a

2 个答案:

答案 0 :(得分:1)

您还必须使用encodeURIComponent功能:

xmlhttp.send('data=' + encodeURIComponent(JSON.stringify(x)));

答案 1 :(得分:0)

问题是stringify无法转义&符号等特殊字符。 您应该使用encodeURIComponent(JSON.stringify(x))