我有一些responseText,看起来像这样:
[{
"id": null,
"partId": 0,
"name": "5e8c8c89-445e-4033-80db-014a00cc055e.jpg",
"type": "image/png",
"size": 2276489,
"progress": "1.0",
"url": "/Public/Upload/UploadHandler.ashx?id=5e8c8c89-445e-4033-80db-014a00cc055e.jpg",
"thumbnail_url": null,
"delete_url": "/Public/Upload/UploadHandler.ashx?id=5e8c8c89-445e-4033-80db-014a00cc055e.jpg",
"delete_type": "DELETE",
"error": null
}
]
但是我不能在我的完整函数中使用这些数据。我曾尝试使用$将其转换为JSON。parseJSON函数,但虽然我得到一个对象,我不能访问任何项目…
var o = $.parseJSON(jqXHR.responseText);
console.log(o.partId); // returns undefined
有谁能帮我吗?欢呼,r3plica
JSON响应在顶层有一个Array。你需要做的是:
console.log(o[0].partId);
使用jqXHR.responseJSON
:
console.log(jqXHR.responseJSON[0].partId);
如果指定
json
,则使用jQuery.parseJSON
解析响应在作为对象传递给成功处理程序之前。解析后的的responseJSON
属性使JSON对象可用jqXHR
对象
文档:https://api.jquery.com/jQuery.ajax/