加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

关于$.ajax 返回返回值问题

发布时间:2020-12-15 21:03:23 所属栏目:百科 来源:网络整理
导读:一般情况下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;//此

一般情况下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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读