<分区>
我已使用 Laravel Response::json 生成 JSON 响应。
return Response::json(array('subjects' => $subjects, 'year' => $year, 'sem' => $sem));
当我运行请求时,我得到一个有效的 JSON(在 JSONLint 中测试)作为响应。
但是下面的 jQuery 方法失败了:$.parseJSON(data)
我在 FireBug 中收到以下错误:
SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
我收到的回复:
{
"subjects": [
{
"id": 1,
"name": "Control Systems",
"semester": 1,
"year": 3,
"branch_id": 4
},
{
"id": 2,
"name": "Analog Communications",
"semester": 1,
"year": 3,
"branch_id": 4
},
{
"id": 3,
"name": "Linear IC Applications",
"semester": 1,
"year": 3,
"branch_id": 4
},
{
"id": 4,
"name": "Antennas & Wave Propagation",
"semester": 1,
"year": 3,
"branch_id": 4
}
],
"year": 3,
"sem": 2
}
以及我试图解析它的代码:
$(document).ready(function() {
$('#branchAndSubjects').click(function() {
$.post('/findBranchAndSubjects', {
roll: roll,
_token: "{{csrf_token()}}"
}, function(data) {
var subjects = $.parseJSON(data);
});
});
});