我正在进行此 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/