关于$.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; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |