【发布时间】:2013-02-18 22:46:27
【问题描述】:
我查看了很多关于这个主题的帖子,并尝试了几种解决方案,但我似乎无法正确解决。
最后一次尝试
function checkzip(x){
$.ajax({
type:'POST',
url:'zipcheck.php',
data:{zip: x},
async: false
}).done(function(r){
rates(r);
});
}
function rates(r){
alert (r);
if (r !== 'none'){
m = JSON.parse(r);
return m;
}
else {
return false;
}
}
返回的json是{"rateA":"125","rateB":"80","rateC":"150","rateD":"130"}
所以我希望能够:
new_rate = checkzip('77090');
和
alert (new_rate.rateA);
但是我的返回值是不确定的
我尝试在成功中传递函数:AND .done(),我尝试直接从两者返回它,而不是在设置 async:false 时也传递给单独的函数。 我尝试将 ajax 调用与 zipcheck() 函数内的函数一起放置,然后也从那里调用它。 我错过了从 ajax 创建对象或使用异步函数的内容。
【问题讨论】:
-
异步函数并不是这样工作的。您无需调用它们并等待响应,而是调用它们并绑定一个在它们完成时运行的回调。
-
好的,你能给我一个简单的例子吗?
标签: javascript jquery ajax object asynchronous