javascript - 如何访问从 JQuery 收到的 JSON 响应中的数据?

标签 javascript jquery ajax json

如何访问 JQuery AJAX 请求的完整函数中返回的 JSON 中存储的数据。例如,我有以下代码:

$.ajax({
    url: 'buildings.php',
    data: "building=" + building,
    complete: function (response) {
        alert(response.responseText);
        alert(response.name);
    }
});

在第一个警报中,它显示以下内容,这是我从 PHP 发送的预期 JSON 数据。

{"name":"HSB","description":"description","directionsURL":"directionsURL","imageArray":{"1":"URL 1","2":"URL 2"}}

在第二个警报中,它显示

undefined

如何访问我收到的第一个警报中显示的数据?

最佳答案

如果将 dataType: "json" 添加到调用中,响应将成为 json 对象:

$.ajax({
    url: 'buildings.php',
    data: "building=" + building,
    dataType: "json",
    complete: function (response) {
        alert(response.name);
    }
});

编辑:看来无论出于何种原因,jQuery 都无法自动解析它,但是 JSON.parse(response.responseText) 做到了。

关于javascript - 如何访问从 JQuery 收到的 JSON 响应中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24946498/

相关文章:

asp.net - 按钮单击在更新面板中不起作用

asp.net - JsonResult 在浏览器中显示文件下载

javascript - 单击 "update"后,检查与正在编辑的帖子对应的单选按钮,如果存在验证错误

ajax - 在 src 标记中显示图像,响应文本不是 base64

Javascript 正则表达式 - 必填字段验证

jquery - 将垂直和水平可缩放 div 置于任何浏览器维度的中间

html - AJAX 是否在整个 GET/POST 过程中维护状态?

javascript - '加载错误: unknown' when trying to delete apprequest in Javascript SDK

javascript - 使用 v-bind 将数据放入属性 href 中的标签 a (VUE.JS 2 + Laravel 5.3)

javascript - 可重复使用的 D3 图表,其中公共(public)代码被分离出来