• ajax异步的加深理解


    过去印象中的ajax的异步操作,一直还居然在$.ajax函数内部的异步,真是大错特错,实际的异步操作,是针对整个js文件来的。

    今天总算意识到了,实际情况如下:

    $(function(){
        //【弹框提示层】初始化
        $.like.initAlertMsgDiv();
        //判断账户是否创建钱包
        isExistWallet();
        //钱包信息显示
        showWalletInfo();
        //加载最近交易记录
        PageClick(1, 10, 3);
        。。。。。
    首先判断账户是否创建钱包,没有创建的话,及时创建空钱包。下一步是加载钱包中的信息。

    加载钱包信息函数中有钱包非空验证。刚开始时,isExistWallet()函数中的ajax操作时异步的,导致没有来的及创建钱包,就执行钱包信息操作,从而报钱包为空错误。

    所以此时ajax应改为同步操作,判断账户是否创建钱包代码如下:

    function isExistWallet(){
        //ajax查询
        $.ajax({
            url: $.like.getRootURL()+"/wallet/isExistWallet.htm",
            type: "POST",
            data: {
                "type":type
            },
            dataType: "json",
            async:false,
            success: function(data) {
                var res = data.res;
                var msg = data.msg;
                if(res==2){//登录超时
                    $.like.alert_Msg(msg, 1, $.like.getRootURL()+'/agent/home.html');
                }else if(res!=0){
                    $.like.alert_Msg(msg, 0, '');
                }
            }
        });
    }
    async:false 就可以搞定了。

  • 相关阅读:
    Java 工程转 C#
    初涉Linux ----------> 打造自己的 Vim IDE
    初涉Linux ----------> Ubuntu15.04的安装与美化
    没学过CSS等前端的我,也想美化一下自己的博客
    作为程序员之 Vim(一)
    win7升win10,初体验
    作为程序员之正则表达式
    数据库系统原理
    Mysql数据库笔记
    我的个人常用快捷键
  • 原文地址:https://www.cnblogs.com/archermeng/p/7537233.html
Copyright © 2020-2023  润新知