我正在拨打这个AJAX电话:let g = $.get("http://api.tvmaze.com/search/shows?q=seinfeld", {dataType: 'json'});
如果我尝试调用g.responseJSON
,并期望有一个对象数组,则会得到undefined
。
但是,如果我将g
登录到控制台,则可以清楚地看到它是一个带有responseJSON属性的对象(对象数组)。如果我右键单击该对象并将其绑定到Chrome的devtools中的临时变量,则在该对象上调用.responseJSON
即可。
我对此完全感到困惑,我只是想不出会发生什么原因。我清楚地看到该属性存在,它存在于副本中,为什么在这里不起作用?
最佳答案
$.get
返回jqxhr对象,因此,如果要从服务器访问响应,可以预订.done
事件,在该事件内部,您将获得实际的服务器响应:
g.done(function(response) {
alert(response);
});
当收到来自服务器的实际响应时,将在以后的阶段调用该事件。