jquery ajax无法获取返回值

functionperson(id,shehui){varb="";$.ajax({type:"POST",url:"shehui_save.cshtml",data:"... function person(id, shehui) {
var b = "";
$.ajax({
type: "POST",
url: "shehui_save.cshtml",
data: "action=" + shehui + "&id=" + id,
success: function (msg) {
b = msg
alert(b); //这里可以
}
});
alert (b) //(不行)无数据
}
展开
 我来答
Mr_2_B
2012-09-24 · TA获得超过257个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:100万
展开全部
因为你的ajax是异步的 当你定义了一个变量b赋值为空,然后紧接着发送了一个ajax请求,但没有设置同步还是异步,默认为异步。异步的意思说程序接着往下走,一方面ajax请求也在执行。但js的执行速度比ajax的速度要快很多,所以在你ajax的b值还没有返回来时你最后一个alert(b)时的值还是第二行你定义的值,若想在ajax成功后操作的话可以设置ajax同步。
追问
谢谢,解决问题。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式