javascript - $.get 响应没有 responseJSON 方法,但是当我在 Chrome 开发工具中绑定(bind)它时,它有吗?

标签 javascript jquery

我正在进行此 AJAX 调用:

let g = $.get("http://api.tvmaze.com/search/shows?q=seinfeld", {dataType: 'json'});

如果我尝试调用 g.responseJSON,需要一个对象数组,则会得到 undefined

但是如果我将 g 记录到控制台,我可以清楚地看到它是一个具有 responseJSON 属性的对象(对象数组)。如果我右键单击该对象并将其绑定(bind)到 Chrome 开发工具中的临时变量,则调用 .responseJSON 就可以了。

我对此感到完全困惑,我想不出任何原因会发生这种情况。我清楚地看到该属性存在,它存在于副本中,为什么它在这里不起作用?

最佳答案

$.get返回 jqxhr 对象,因此如果您想访问服务器的响应,您可以订阅 .done 事件,在该事件中您将获得实际的服务器响应:

g.done(function(response) {
    alert(response);
});

当收到服务器的实际响应时,该事件将在稍后阶段调用。

关于javascript - $.get 响应没有 responseJSON 方法,但是当我在 Chrome 开发工具中绑定(bind)它时,它有吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37099868/

相关文章:

c# - Telerik ComboBox OnClientKeyPressing 搜索非常慢

javascript - 此版本的应用程序不支持错误 : Cannot open be opened because its project type(. jsproj) - 适用于 Windows 8 的 VS Express RC 2012

jquery - 启用/禁用调整大小时的 jquery 调用

javascript - 如何在 JavaScript 循环中添加不同的延迟?

javascript - 将值传递给函数的问题

javascript - TextNode 或 innerHTML

javascript - 专门使用Bootstrap3

javascript - Instagram API - 使用 jquery 获取图像

javascript - 如何将 jquery 变量作为属性传递到输入中

javascript - AngularJS - 禁用 $exceptionHandler