我正在尝试创建一个小程序,其中涉及输入邮政编码并使用http://www.zippopotam.us/获取相关城市。最终,我将解析城市数据并将其存储为程序开发的变量。也许对更具体的区域使用 long/lat。
使用下面的代码时,输入初始邮政编码后,它按计划工作,我看到一个带有预期 JSON 结果的警报。在初始 zip 输入后,一旦更改了 zip 并再次提交,它就不起作用了。更新后的 zip 会反映在 URL 中,但会从文本输入字段中消失,并且不会执行city功能。它需要第二次提交才能工作。为什么会发生这种情况,我该如何解决?
www.zippopotam.us/ 是解决这个问题的好方法还是有更好的选择?
.
<div id="location">
<form onsubmit="city()">
<input type="text" name="loc" id="loc" />
</form>
</div>
function city(){
var zip = $('#loc').val();
var client = new XMLHttpRequest();
client.open("GET", "http://api.zippopotam.us/us/"+zip, true);
client.onreadystatechange = function() {
if(client.readyState == 4) {
alert(client.responseText);
};
};
client.send();
}