[英]JSON.parse(data) causes error
问题似乎很简单:AJAX post 请求的回调函数在参数“data”中接收到这个 json 字符串:
{"result":"Torte"}.
当我像这样手动解析它时
var antwort = JSON.parse('{"result":"Torte"}');
没关系。 但
var antwort = JSON.parse("'" + data + "'");
导致错误
Uncaught SyntaxError: Unexpected token ' in JSON at position 0
at JSON.parse (<anonymous>)
和
var antwort = JSON.parse(data);
出现了类似的错误(在 Chrome 的开发人员工具中):
VM1285:2 Uncaught SyntaxError: Unexpected token < in JSON at position 21
at JSON.parse (<anonymous>)
所以似乎 'data' 包含额外的字符。 另一方面,使接收到的 json-string 可见
$("#idTest").html(data)
只是显示
{"result":"Torte"}
没有额外的字符。
我一直在解决这个问题几个小时 - 没有成功。 任何人都可以帮忙,请。
JSON.parse
的数据必须是具有有效 JSON 的字符串。 这不是错误,而是警告您解析器发现无效令牌的异常。
此外:您的 JSON 不能以<
或'
开头。
谢谢大家的支持! 问题是我在 php 文件中有一个 html 标题。
JSON.parse(JSON.stringify(data)); 不需要。
php 文件末尾的以下 2 行完成了这项工作:
$antwort['result'] = "Torte";
echo json_encode($antwort);
我将调用.map的数据以使用.push将它们加载到矩阵中,但我无法将数据的值放入JSON.parse
我练习的目标是通过选择一个 () 1 选项作为一个选项加载到 () 2 中。
为此,映射选择 1 中的数据,然后使用 onClick 事件将数据加载到数组中以读取选择 2 中的选项。
const filtraritems = [{ value: 'test', label: 'Probando la lista' }];
const buscarOpciones = items.map(item => (
<option
key={item.id}
onClick={() => {
const { value } = item;
filtraritems.push(
**JSON.parse('{"value": ${items.value}, "label": ${items.label}}')**
);
console.log(filtraritems);
}}
>
{item.nombre}
</option>
));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.