Javascript API返回的信息在代码笔上出现1秒后消失。为什么?
你应该进入一个类似11362的zipde,然后在城市名称下获得“小脖子”“小脖子”在代码笔窗口中出现了片刻,然后消失了。为什么? 我想我没有对我的代码做任何修改。但不知怎的,我把API url打错了。我不知道。信息就在那里。请求成功了,而且部分成功 代码:Javascript API返回的信息在代码笔上出现1秒后消失。为什么?,javascript,api,Javascript,Api,你应该进入一个类似11362的zipde,然后在城市名称下获得“小脖子”“小脖子”在代码笔窗口中出现了片刻,然后消失了。为什么? 我想我没有对我的代码做任何修改。但不知怎的,我把API url打错了。我不知道。信息就在那里。请求成功了,而且部分成功 代码: var-button=document.getElementById('submit'); var-zipcode; /*获取用户输入的内容*/ addEventListener(“单击”,获取值); 函数getValue(){ zipc
var-button=document.getElementById('submit');
var-zipcode;
/*获取用户输入的内容*/
addEventListener(“单击”,获取值);
函数getValue(){
zipcode=document.getElementById('zipcode').value;
getCity();
}
//谷歌地理编码API请求
函数getCity(){
var req=新的XMLHttpRequest;
req.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
var myData=JSON.parse(this.responseText);
var myCity=myData.results[0]。地址\组件[1]。短\名称;
document.getElementById('city')。innerHTML=myCity;
}//如果函数结束
}//onreadystate函数结束
请求打开('GET','https://maps.googleapis.com/maps/api/geocode/json?address=“+zipcode,true);
请求发送();
}
城市名称:
温度(C/F):
图标:
天气:
风:
日出:
天气:
表单提交试图向表单操作发出请求,在本例中,没有操作,因此表单将只重新加载页面
这就是它消失的原因
您需要添加:
e.preventDefault();
在click event listener中,必须防止默认行为,才能执行侦听器中的代码
function getValue(e){
e.preventDefault();
zipcode=document.getElementById('zipcode').value;
getCity();
}
var-button=document.getElementById('submit');
var-zipcode;
/*获取用户输入的内容*/
addEventListener(“单击”,获取值);
函数getValue(事件){
event.preventDefault();
zipcode=document.getElementById('zipcode').value;
getCity();
}
//谷歌地理编码API请求
函数getCity(){
var req=新的XMLHttpRequest;
req.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
var myData=JSON.parse(this.responseText);
var myCity=myData.results[0]。地址\组件[1]。短\名称;
document.getElementById('city')。innerHTML=myCity;
}//如果函数结束
}//onreadystate函数结束
请求打开('GET','https://maps.googleapis.com/maps/api/geocode/json?address=“+zipcode,true);
请求发送();
}
城市名称:
温度(C/F):
图标:
天气:
风:
日出:
天气:
表单提交试图向表单操作发出请求,在本例中,没有操作,因此表单将只重新加载页面
这就是它消失的原因
您需要添加:
e.preventDefault();
在click event listener中,必须防止默认行为,才能执行侦听器中的代码
function getValue(e){
e.preventDefault();
zipcode=document.getElementById('zipcode').value;
getCity();
}
var-button=document.getElementById('submit');
var-zipcode;
/*获取用户输入的内容*/
addEventListener(“单击”,获取值);
函数getValue(事件){
event.preventDefault();
zipcode=document.getElementById('zipcode').value;
getCity();
}
//谷歌地理编码API请求
函数getCity(){
var req=新的XMLHttpRequest;
req.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
var myData=JSON.parse(this.responseText);
var myCity=myData.results[0]。地址\组件[1]。短\名称;
document.getElementById('city')。innerHTML=myCity;
}//如果函数结束
}//onreadystate函数结束
请求打开('GET','https://maps.googleapis.com/maps/api/geocode/json?address=“+zipcode,true);
请求发送();
}
城市名称:
温度(C/F):
图标:
天气:
风:
日出:
天气:
防止提交按钮的默认行为
function getValue(e){
e.preventDefault();
zipcode=document.getElementById('zipcode').value;
getCity();
}
p.S.
按钮。addEventListener('click',getValue)
这里,getValue
是对触发按钮
eventclick
时调用的函数的引用(引用不应采用参数;将其视为指向函数声明的指针)。一旦按钮
被单击
ed,默认情况下将事件对象传递给您的单击处理程序getValue
。定义此函数时,您可以作为param访问事件对象。您可以给它任何别名,但最常见的别名是e
和event
函数getValue(yourEventAlias){…}
然后如果要防止提交按钮的默认行为,请添加yourEventAlias.preventDefault()代码>添加到函数体。防止提交按钮的默认行为
function getValue(e){
e.preventDefault();
zipcode=document.getElementById('zipcode').value;
getCity();
}
p.S.
按钮。addEventListener('click',getValue)
这里,getValue
是对触发按钮
eventclick
时调用的函数的引用(引用不应采用参数;将其视为指向函数声明的指针)。一旦按钮
被单击
ed,默认情况下将事件对象传递给您的单击处理程序getValue
。定义此函数时,您可以作为param访问事件对象。您可以给它任何别名,但最常见的别名是e
和event
函数getValue(yourEventAlias){…}
然后如果要防止提交按钮的默认行为,请添加yourEventAlias.preventDefault()代码>到函数体。为什么要使用参数e?在事件处理程序中调用getValue函数时,没有参数。e
是触发它的事件(事件始终作为