php - javascript unexpected token < ,有什么办法可以避免错误(或至少跳过那些无用的字符)

标签 php javascript jquery

在 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/

相关文章:

javascript - 使用 Jquery 获取多个 div 的 HTML

php - 从 CSS 文件中删除重复项

javascript - jQuery ajax 未在子函数中触发

javascript - 如何在 chartjs 中将 Y 轴值从 float 更改为整数?

javascript - 检查文件是否存在于 JavaScript 中?

javascript - prestashop-使用 ajax onclick 创建新表单

javascript - 如何在 jQuery 中使用按钮引用?

php - 在 PHP : ORA-01460: unimplemented or unreasonable conversion requested 中执行存储过程

javascript - Laravel 表单发布时的空日期

php - 在日期上加一个月。将日期设置为给定月份的最后一天