一般情况下ajax默认的是异步的也就是async:true;
function getdata()
{
var url=$("#posturl").val();
var test="1";$.ajax({
url:url,
type:"POST",
//async:false,
dataType:"text",
data:
{
data:treeNode.id
},
success:function(data){
test=data;//此时data=2;
}
});
return test;
}
此函数的返回值为初始化的‘1’;这是因为Jquery的ajax是异步的,所以大多时候没执行完AJAX就return 1了,所以会一直返回1;
但是如果加上async:false,就发送同步请求。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
function getdata()
{
var url=$("#posturl").val();
var test="1";$.ajax({
url:url,
async:false,
success:function(data){
test=data;//此时data=2;
}
});
return test;
}
此时的返回值为2;
原文链接:https://www.f2er.com/ajax/166759.html