【问题标题】:jquery jqXHR responseText convert string to JSONjquery jqXHR responseText 将字符串转换为 JSON
【发布时间】:2013-05-01 14:11:56
【问题描述】:

我有一些如下所示的 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
    }
]

但我无法在我的完整函数中使用该数据。我尝试使用 $.parseJSON 函数将其转换为 JSON,但是虽然我得到了一个对象,但我无法访问任何项目...

var o = $.parseJSON(jqXHR.responseText);
console.log(o.partId); // returns undefined

谁能帮帮我?

干杯, r3plica

【问题讨论】:

  • 您很可能在请求完成之前访问了 responseText,但如果没有更多上下文,我们无法判断。您实际上很少需要直接使用 responseText。
  • JSON 已经是一个字符串。这听起来更像是您想将 JSON 字符串转换为 Javascript 对象。
  • 你试过o[0].partId吗?
  • @KevinB 我需要访问响应文本,因为我使用带有 MVC 的 BlueImp Upload 从我的 UploadHandler 返回一个 ID。它上传到 s3,所以我需要将我的 ID 以及文件位置等记录到数据库中

标签: jquery ajax jqxhr


【解决方案1】:

您的 JSON 响应在顶层有一个数组。你需要做的:

console.log(o[0].partId);

【讨论】:

  • 谢谢 :) 没错。我知道这是一个数组,但没想到使用 [0] 哈哈。傻我:)
猜你喜欢
  • 2014-06-11
  • 2018-06-28
  • 2012-10-06
  • 1970-01-01
  • 2012-10-26
  • 2016-03-19
相关资源
最近更新 更多