在 php 中,我有一个这样的数组:
$arr['a'] = "some big data so may contain some chars that bring us headache"
$arr['b'] = "some big data same as above"
$data = json_encode($arr)
echo $data
我的 javascript 代码包含一个 jquery ajax 调用 $.ajax 。它调用包含上述 php 代码的文件,因此,成功后,json_encoded(by php) 返回到我的 javascript 变量。在我的 javascript 文件中,我是这样做的:
jsdata = JSON.parse(data); //Getting error here
$.ajax({
type: "post",
data: jsdata,
url: "url",
crossDomain: true,
dataType: 'jsonp'
}).done(function(d) {
print("success");
});
从上面的代码中,在 jsdata = JSON.parse(data) 行中,我收到类似
的错误 Error : UNEXPECTED TOKEN <
由于数据包含很多不同的内容,出现这些错误是正常的。他们需要正确转义。谁能告诉我如何正确地做到这一点。无论数据是什么,我都不应该得到关于数据的错误。
谢谢
最佳答案
好吧,您可能应该知道一些事情 jsdata = JSON.parse(data);
尝试解析您分配给 data
的任何 json 字符串 , 并将其作为 JS 对象返回。我想你想做相反的事情:jsdata = JSON.stringify(data);
此外,由于您使用的是 jQuery,因此您可以省略该行:无论如何,jQuery 都会在发送请求之前将数据转换为适当的格式,无需费心解析或字符串化 自己做。
关于php - javascript unexpected token < ,有什么办法可以避免错误(或至少跳过那些无用的字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11952101/