我想创建一个小程序,涉及到邮政编码输入和使用http://www.zippopotam.us/获得相关城市。最终,我将解析城市数据并将其存储为程序开发时的变量..也许对更具体的区域使用long/lat。onsubmit用于邮政编码文本输入。 XMLhttprequest:输入zip,返回城市
使用下面的代码,输入初始邮政编码后,它的工作按计划,我看到与预期的JSON结果产生警报。在最初的zip输入后,一旦zip被改变并再次提交,它就不起作用。更新后的zip会反映在URL中,但它会从文本输入字段中消失,并且不会执行功能城市功能。它需要第二次提交才能正常工作。为什么会发生这种情况,我该如何解决这个问题?
是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();
}
感谢您的回答。仔细一看,我看到来自目标服务器的http响应显示Access-Control-Allow-Origin:*。我知道*表示资源可以通过任何域以跨站点方式访问。我现在有这个工作在Firefox中,但不是在Safari浏览器。不知道什么浏览器区别是停止Safari的工作。 – DVCITIS 2013-03-11 00:58:27