从JSON对象检索数据时发生Javascript错误
在我的项目中,当输入文本模糊时,我会创建一个对象,如下所示:从JSON对象检索数据时发生Javascript错误,javascript,json,Javascript,Json,在我的项目中,当输入文本模糊时,我会创建一个对象,如下所示: inputT1.onblur = function(){ var pDomain = this.value; if (pDomain.substring(0,4) === "http") { var getLocation = function(href) { var l = document.createEleme
inputT1.onblur = function(){
var pDomain = this.value;
if (pDomain.substring(0,4) === "http") {
var getLocation = function(href) {
var l = document.createElement("a");
l.href = href;
return l;
};
var l = getLocation(pDomain);
pDomain = l.hostname;
}
responseT = $.get( "neuroscan/php/trial500.php", { P1: 'dominio', P2: pDomain } );
console.log("Status: "+responseT.responseText);
}
控制台响应状态:未定义
如果我写:
console.log("Status: "+JSON.parse(responseT.responseText));
返回一个错误。
对象responseT是create(如图所示)和responseText有一个值,但我无法将其隔离到变量中
有什么想法吗
提前感谢$。获取回报承诺,而不是数据。因此,它是同步工作的
inputT1.onblur = function(){
var pDomain = this.value;
if (pDomain.substring(0,4) === "http") {
var getLocation = function(href) {
var l = document.createElement("a");
l.href = href;
return l;
};
var l = getLocation(pDomain);
pDomain = l.hostname;
}
$.get( "neuroscan/php/trial500.php", { P1: 'dominio', P2: pDomain }, function(data, status, xhr){
console.log(data);
});
}
可能是我读了那篇文章的副本,但我的问题是,尽管存在对象responseT,如果我写responseT.responseText控制台,当请求完成时,我会返回“未定义”的responseText。因此,当您第一次调用console.log时,它是未定义的。但你的问题是你在不同的时间测试它们。当您在控制台中键入“responseT”时,它已经被解析。但是当代码中有
responseText.responseText
时,它还没有被解决,您正在访问promise。复制品会解决你的问题。