【发布时间】:2016-04-13 20:15:34
【问题描述】:
我知道您可以使用 zippopotam API 自动填充给定邮政编码的城市和州,但我正在尝试找到一种方法来使用 API 自动填充城市和州的邮政编码给出。
如果您查看下面的 ajax 调用,您可以看到我正在使用邮政编码值发出请求,但如果您传入除邮政编码以外的参数,它会返回一个空的 JSON 块。
我只是好奇,有没有人以这种方式使用或操作 zippopotam 响应的经验?
如果没有,我可能还没有找到其他可能的简单解决方案吗?
<script>
$(function() {
// OnKeyDown Function
$("#zip").keyup(function() {
var zip_in = $(this);
var zip_box = $('#zipbox');
if ((zip_in.val().length == 5) )
{
// Make HTTP Request
$.ajax({
url: "http://api.zippopotam.us/us/" + zip_in.val(),
cache: false,
dataType: "json",
type: "GET",
success: function(result, success) {
// Make the city and state boxes visible
// US Zip Code Records Officially Map to only 1 Primary Location
places = result['places'][0];
$("#city").val(places['place name']);
$("#state").val(places['state']);
zip_box.addClass('success').removeClass('error');
},
error: function(result, success) {
zip_box.removeClass('success').addClass('error');
}
});
}
});
});
</script>
<fieldset>
<legend>US Address Autocompletion</legend>
<br/>
<div>
<div id="zipbox" class="control-group">
<label for="zip">Zip</label>
<input type="text" class='' pattern="[0-9]*" name="zip" id="zip" placeholder="Type your ZIP code"/>
</div>
</div>
<div>
<div id="citybox" class="control-group" >
<label for="city">City</label>
<input type="text" name="city" id="city" placeholder="" />
</div>
<div id="statebox" class="control-group">
<label for="state">State</label>
<input type="text" name="state" id="state" placeholder="" />
</div>
</div>
</fieldset>
【问题讨论】:
标签: javascript ajax api