开发者社区> 桃子红了呐> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

关于ajax中async参数的感悟

简介:
+关注继续查看

async,这个参数默认为true。

就是异步去处理信息。

当把它设置为false的时候,就是同步去处理数据了。

复制代码
var current_lead_id = '<?php echo $current_lead_id;?>';
            var res = '';
            datas = "action=reset_current_phone&lead_id="+current_lead_id;
            $.ajax({
                type:'post',
                url: "send.php",
                data: datas,
                async:false,
                success: function(json) {
                     res = json.counts;
                },
                error: function(XMLHttpRequest, textStatus) {
                    alert("页面请求错误,请检查重试或联系管理员!\n" + textStatus);
                }
            });
            return res;
复制代码

同步的时候,能够获取到res的值。异步的时候,就获取不到了。

第二点,同步的时候,只要这样写,就会执行reset_current_phone中的代码,最后才进行跳转。

复制代码
function do_back(){
            var opt = '<?php echo $opt;?>';
            if(opt == 'auto'){
                // 跳转之前,处理一些事情
                res = reset_current_phone();
                javscript: window.history.go(-1);
            }else{
                javscript: window.history.go(-1);
            }
        }
复制代码

而异步的时候,直接就跳转了,reset_current_phone中的ajax并没有执行完毕。

需要这样写才算执行完毕。

复制代码
function do_back()
{
    var opt = '<?php echo $opt;?>';
    if (opt == 'auto')
    {
        // 跳转之前,处理一些事情
        res = reset_current_phone();
        if (res)
        {
            javscript : window.history.go(-1);
        }
    }
    else
    {
        javscript : window.history.go(-1);
    }
}
复制代码

细节,原来如此重要。

一个async参数竟然如此神奇。



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/4956524.html如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ES6 - promise 与 async / await【Promise 封装丐版 Ajax】
ES6 - promise 与 async / await【Promise 封装丐版 Ajax】
0 0
$.ajax同步/异步(async:false/true)解析
  $.ajax 同步/异步(async:false/true)   虽然说ajax用来执行异步请求的比较多,但有时还是存在需要同步执行的情况的。   比如:我需要通过ajax取执行请求以返回一个值,这个值在ajax后面是需要使用到的,这时就不能用异步请求了。这时候就需要使用到async这个属性了。
0 0
Ajax中async的设置问题
问题描述:Ajax传值状态是200正确的,但就是获取不到success后的返回值data,最后发现只有alert()一下才可以正确获取值。
442 0
jQuery封装Ajax,SpringMVC使用Ajax的配置
jQuery封装Ajax,SpringMVC使用Ajax的配置
0 0
JQuery Ajax实现三级联动
本文实例为大家分享了ajax实现三级联动的具体代码
0 0
jQuery中的Ajax
jQuery中的Ajax
0 0
【jquery Ajax】基础概念与使用教学
【jquery Ajax】基础概念与使用教学
0 0
【jquery Ajax】接口的学习与Postcode插件的使用
【jquery Ajax】接口的学习与Postcode插件的使用
0 0
【jquery Ajax 练习】图书管理
【jquery Ajax 练习】图书管理
0 0
【jquery Ajax 】form表单教学+评论案例
【jquery Ajax 】form表单教学+评论案例
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载