我想創建一個小程序,涉及到郵政編碼輸入和使用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