我有一个看起来像这样的简单函数:
function getURL(url) {
return $.get(url);
}
我正在调用(在其他地方,特别是在单元测试中):
var url = getURL("/page/stuff")
console.log(url);
所以console.log(url)工作,并返回statustext / status等......就像它应该的那样。
但是,如何访问jqXHR对象的属性。例如,url.status
返回undefined。
这是装载问题吗?虽然在我真正收到页面之前进行了日志记录...如果是这样,那么打印出来的只是url变量会返回对象吗?
答案 0 :(得分:2)
如何访问jqXHR对象的属性。例如,url.status返回undefined。
在请求完成后访问它:
var jqxhr = getURL("/page/stuff");
jqxhr.always(function (result) {
console.log(jqxhr.status);
});
这是装载问题吗?虽然在我真正收到页面之前即时记录...
是
如果是这样,如何打印掉url变量只返回对象?
因为$.get()
返回表示请求的对象。但是在请求完成之前,它的一些属性不会被填充。
答案 1 :(得分:1)
jQuery.get()
是jQuery
个promisse,因此您在xhr
对象上有Deferred
个选项。
我想你想要这个:
var _request = function( url ) {
return $.get( url );
};
_request('https://httpbin.org/get').done(function( data, textStatus, jqXHR ) {
console.info( jqXHR.status );
});