我可以在控制台中看到对象的字段变量,但无法通过objectName.fieldVariableName
var ob = jQuery.get("file.txt");
console.log("This is the resulting object");
console.log(ob);
console.log("This is the responseText");
console.log(ob.responseText);
当我尝试访问响应文本时,将其显示为未定义。但是,当我打印整个对象时,我可以看到正确的响应文本。如何访问responseText字段变量?
答案 0 :(得分:4)
由于jQuery.get
是一种异步方法,您需要提供一个回调函数,一旦请求成功就会调用它:
var ob = jQuery.get("file.txt", function(responseText)
{
console.log("This is a jqXHR object");
console.log(ob);
console.log("This is the responseText");
console.log(responseText);
});
jQuery调用回调函数,并将响应数据作为第一个参数(上面代码中为responseText
)。
您在控制台中看到responseText
的原因可能是因为在您展开对象详细信息时,请求已成功并且reponseText
字段已设置。
此外,请注意ob
不是结果对象,而是jqXHR
对象。
答案 1 :(得分:1)
这是因为您需要使用回调函数来处理success
请求的get
事件。
$.get("file.txt", function(data) {
console.log(data);
});
在控制台中执行它时,请求已完成并填充了对象。但是,在您的代码段中,请求在执行时尚未完成。
有关详细信息,请参阅jQuery.get。