关于ajax中async参数的感悟-阿里云开发者社区

开发者社区> 桃子红了呐> 正文

关于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如需转载请自行联系原作者

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

相关文章
gdy
jQuery Ajax传值给Servlet,在Servlet里Get接受参数乱码的解决方法
  最近在学jquery ui,在做一个小功能的时候需要将前台的值获取到,通过Ajax传递给Servlet,然后再在返回数据结果,但是在Servlet接受参数的时候,通过后台打印,发现接受乱码,代码示例如下: public void doGet(HttpServletRequest reque...
1380 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10083 0
ajax向后台传递list参数
版权声明:转载请注明作者及出处,否则将追究法律责任。 https://blog.csdn.net/q2158798/article/details/83958433 学习记录:复习...
5385 0
如何使用ngTemplateOutlet给ng-template模板传递参数
如何使用ngTemplateOutlet给ng-template模板传递参数
5 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13888 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
11889 0
艾伟:Ajax基石脚本异步并发调用参数传递
在Ajax开发框架中,最基本的划分是服务器端和客户端。服务器端相对来说比较简单,只要是可以开发动态网页的语言都可以胜任;客户端浏览器就是JScript/JavaScript的天下了,好像没有看到有VBScript做的Ajax客户端库,就算它只支持IE。
691 0
4269
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载