Javascript 如何使用ajax请求中的值作为jquery中关联数组中的值
我使用Ziptatic从给定的邮政编码返回城市和州。它以全名的形式返回状态,我试图在使用jquery从ajax请求接收到数据后将状态转换为缩写。我遇到的问题是将结果打印到数组中以使其返回abbrev。这是我的代码,您可以更好地了解我正在尝试做什么Javascript 如何使用ajax请求中的值作为jquery中关联数组中的值,javascript,jquery,Javascript,Jquery,我使用Ziptatic从给定的邮政编码返回城市和州。它以全名的形式返回状态,我试图在使用jquery从ajax请求接收到数据后将状态转换为缩写。我遇到的问题是将结果打印到数组中以使其返回abbrev。这是我的代码,您可以更好地了解我正在尝试做什么 var states = new Array ( {'Alabama':'AL'}, {'Alaska':'AK'}, {'Arizona':'AZ'},
var states = new Array (
{'Alabama':'AL'},
{'Alaska':'AK'},
{'Arizona':'AZ'},
{'Arkansas':'AR'},
{'California':'CA'},
{'Colorado':'CO'},
{'Connecticut':'CT'},
{'Delaware':'DE'},
{'Florida':'FL'},
{'Georgia':'GA'},
{'Hawaii':'HI'},
{'Idaho':'ID'},
{'Illinois':'IL'},
{'Indiana':'IN'},
{'Iowa':'IA'},
{'Kansas':'KS'},
{'Kentucky':'KY'},
{'Louisiana':'LA'},
{'Maine':'ME'},
{'Maryland':'MD'},
{'Massachusetts':'MA'},
{'Michigan':'MI'},
{'Minnesota':'MN'},
{'Mississippi':'MS'},
{'Missouri':'MO'},
{'Montana':'MT'},
{'Nebraska':'NE'},
{'Nevada':'NV'},
{'New Hampshire':'NH'},
{'New Jersey':'NJ'},
{'New Mexico':'NM'},
{'New York':'NY'},
{'North Carolina':'NC'},
{'North Dakota':'ND'},
{'Ohio':'OH'},
{'Oklahoma':'OK'},
{'Oregon':'OR'},
{'Pennsylvania':'PA'},
{'Rhode Island':'RI'},
{'South Carolina':'SC'},
{'South Dakota':'SD'},
{'Tennessee':'TN'},
{'Texas':'TX'},
{'Utah':'UT'},
{'Vermont':'VT'},
{'Virginia':'VA'},
{'Washington':'WA'},
{'West Virginia':'WV'},
{'Wisconsin':'WI'},
{'Wyoming':'WY'}
);
$(document).ready(function() {
var zip = $('#zipCode').html().substr(0, 5);
$.ajax({
url: 'http://zip.elevenbasetwo.com/v2/US/'+zip,
cache: false,
type: 'GET',
success: function(result, success) {
$('#city').text(result.city);
$('#city').children().andSelf().each(function(){
$(this).html( capitalize_first_letter($(this).text() ) );
});
$('#state').text(states[result.state]);
},
error: function(result, success) {
$('#city').hide();
$('#state').hide();
$('#zipCode').hide();
}
});
});
我的代码以前可以工作,但返回了州的全名。我正在尝试获取结果。声明并在数组中使用它来返回abbrev。上面的答案是100%正确的,但我们只是为了好玩
var shortcode;
states.forEach(function(state) {
for (i in state) {
if (i==result.state) {
shortcode = state[i];
}
}
})
states应该是一个对象,而不是数组:var states={'Alabama':'AL','Alaska':'AK',etc.};哇,太简单了,我不敢相信我把事情搞砸了。谢谢如果你愿意,你可以作为答案提交。对不起,上面的评论回答了问题。var状态需要是对象而不是数组。谢谢你。