Cod*_*oet 3 javascript jquery json laravel-5
我正在使用jquery JSON.parse()来解析json从api(Laravel 5)返回的那个$.get().在json似乎是有效的,但是,JSON.parse()在Safari和Chrome浏览器返回错误.
Chrome说:
Uncaught SyntaxError: Unexpected token o
Run Code Online (Sandbox Code Playgroud)
Safari说:
SyntaxError: JSON Parse error: Unexpected identifier "object"
Run Code Online (Sandbox Code Playgroud)
代码片段如下:
$.get('/foo/' + product_id, function(data){
console.log(data);
var product = JSON.parse(data);
if (product) {
// do something
}
});
Run Code Online (Sandbox Code Playgroud)
JSON是:
{
"id":"1b7b3eb7-8769-48fe-a421-64c105de3eff",
"parent":null,
"org_id":"845d0d53-de68-42c3-9007-c3d0e72c555e",
"category_id":"e58237f7-e040-4098-8d46-b84f8cdf7d83",
"purchase_tax":null,
"sale_tax":null,
"code":"982",
"name":"Mr. Destin Hoppe",
"is_purchased":false,
"is_sold":false,
"purchase_price":null,
"selling_price":null,
"purchase_includes_tax":false,
"sale_includes_tax":false,
"created_at":"2015-09-16 17:39:34",
"updated_at":"2015-09-16 17:39:34"
}
Run Code Online (Sandbox Code Playgroud)
有趣的是,eval()工作得很好.
该错误是data作为对象而非JSON的结果.你不需要解析任何东西; 它已经是一个JavaScript对象.jQuery在其get方法中进行解析.要确认这一点,请将此行添加到回调的顶部.
console.log(data["id"]);
Run Code Online (Sandbox Code Playgroud)
作为此错误的另一个示例,由于相同的原因,以下行也将失败.
JSON.parse({});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19874 次 |
| 最近记录: |