当前位置: 首页 > 编程日记 > 正文

关于JQuery中的ajax请求或者post请求的回调方法中的操作执行或者变量修改没反映的问题...

     前段时间做一个项目,而项目中所有的请求都要用jquery 中的ajax请求或者post请求,但是开始处理一些简单操作还好,但是自己写了一些验证就出现问题了,比如表单提交的时候,要验证帐号的唯一性,所以要在submit前先请求一次,验证帐号是否已被使用,

中间有一段js如下:

 var state = false;
    $.post(url,{username:username},function(data){
        if(!data){
            $('#username').removeClass().addClass('notpass');
            $('#usernameSpan').html("<font color='red'>*该帐号已被使用!</font>");
        }else{
            $('#username').removeClass().addClass('pass');
            $('#usernameSpan').html("<font color='green'>√ 通过</font>");
            state = true;
        }
    });
    return state;

可是不管data为真还是为假,返回值均为false,让我相当郁闷,后来在网上查了下资料,原来这是ajax异步调用导致的。

以前一直不太懂ajax异步调用的原理,后来仔细看了下别人的讲解,才算明白。所谓ajax异步调用就是当用户提交ajax请求的时候,不会等待请求的返回结果,跳过ajax代码块,继续往下执行(post请求也是ajax请求的一种,是一种简化版)。针对这段代码,就是初始state为fasle,而发送一个post请求之后,因为不会等待返回结果,所以中间的if--else 判断还未执行,所以返回的state此时为false。

       那怎么让它等待返回结果之后,在继续往下执行呢?有两种方法:

      第一种:在一开始把ajax请求设置为同步的,因为ajax请求默认为异步的。即把async 属性设置为false;设置全局的代码如下:

    $.ajaxSetup({
    async : false
    });

    第二种是在请求中设置,即只设置某个方法为同步的,那么该方法就会等待返回结果,其它方法仍然为异步的。代码如下:

   $.ajax({

        type: "POST",

        async : false,

        url: url,

        success: function(data){

           alert( msg );

        }

    });

转载于:https://www.cnblogs.com/wanghang/p/6298919.html

相关文章:

下列关于Java多线程并发控制_下列关于Java多线程并发控制机制的叙述中,错误的是...

下列叙述成都望江楼的造景手法有()。竹文化景观应体现科学性与艺术性的和谐统一&#xff0c;关于既要满足植物的生态习性&#xff0c;又能体现美学价值。在中国传统的审美趣味、多线伦理道德上&#xff0c;竹在造园中被拟人化为( )的代表。程并错误下列不属于竹文化旅游的发展趋…

一.vtun源码学习笔记

1.守护进程 &#xff08;1&#xff09;守护进程简介 守护进程,也就是我们通常所说的Daemon进程。它是一个生存期较长的进程&#xff0c;它通常独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。 它与普通进程相比有下面这些特殊性&#xff1a;守护进程最重要的…

获取data 数据

export function getData(el, name, val) {const prefix data-if (val) {return el.setAttribute(prefix name, val)}return el.getAttribute(prefix name) } 转载于:https://www.cnblogs.com/hss-blog/p/9781816.html

java jwks_Java SpringBoot 如何使用 IdentityServer4 作为验证服务器学习笔记

这边记录下如何使用IdentityServer4 作为 Java SpringBoot 的 认证服务器和令牌颁发服务器。本人也是新手&#xff0c;所以理解不足的地方请多多指教。另外由于真的很久没有写中文了&#xff0c;用词不太恰当的地方也欢迎新手大佬小伙伴指出&#xff0c;一起进步。另外这边令牌…

git 快速复制一个新项目

gitlab创建项目a及一个主分支master 本地整体复制已有项目b 本地克隆gitlab上新创建的项目a&#xff08;git clone gitlab地址&#xff09; 将本地克隆过来的a文件夹下的.git目录拷贝到b项目下&#xff08;cp -r .git …/b&#xff0c;注意是两个点&#xff0c;不是三个点,写两…

微信公众平台消息接口星标功能

【微信公众平台星标功能接口被撤销】微信公众平台消息接口中的星标功能&#xff0c;被悄悄的去掉了。 原因应该是有的账号在程序中大量使用星标功能&#xff0c;造成微信服务器存储记录过于宠大。 现在要继续使用星标功能&#xff0c;只能在后台手工操作。 <xml> <ToU…

国庆双节长假旅游出行必装的手机软件

长假即将来临&#xff0c;如果打算出去溜达溜达&#xff0c;透透气的朋友&#xff0c;本文可千万别错过了。今天将介绍几款应用是旅途中绝对不能缺少的&#xff0c;这些应用都非常好用、功能全面&#xff0c;是出行必备的手机软件&#xff0c;希望可以伴你度过快乐的十一长假。…

Windbg双机调试环境配置(Windows7/Windows XP+VirtualBox/VMware+WDK7600)

简介&#xff1a;Windbg双机调试内核、驱动 下载软件&#xff1a; 下载Windbg(GRMWDK_EN_7600_1.ISO)下载VirtualBox 5.2/VMware 12一、安装WDK&#xff0c;这里要提一点的是Debugging Tools for Windows一定要打勾&#xff0c;因为我们后面就是要通过这个工具来进行双机调试的…

哈夫曼树的java实现_java实现哈夫曼树

哈夫曼译码,就是将输入的译码还原成对应的字符。 抽象的算法描述:将建立哈夫曼树、实现哈夫曼编码、哈夫曼译码都定义成 子函数的的形式, 然后在主函数中调用它们......数据结构课程设计设计题目: 哈夫曼树及其应用学 院:计算机科学与技术 专业:网络...用哈夫曼树实现图像压缩_…

on-my-zsh git 仓库下运行卡顿

在 oh-my-zsh 进入 包含 git 仓库目录时&#xff0c;执行 ls 时会比较卡顿 原因&#xff1a; oh-my-zsh 要获取 git 更新信息 解决办法&#xff1a; 设置 oh-my-zsh 不读取文件变化信息&#xff08;在 git 项目目录执行下列命令&#xff09; $ git config --add oh-my-zsh…

oracle, group by, having, where

选择列表中如果包含有列、表达式时&#xff0c;这个列、表达式必须包含在Group By子句中。另外&#xff0c;如果采用了表达式的话&#xff0c;则数据库管理员即使在选择列表中采用了别名&#xff0c;但是在Group By子句中仍然必须采用表达式的完整表达方式&#xff0c;而不能够…

[转载] CSS模块化【封装-继承-多态】

第一次听到“CSS模块化”这个词是在WebReBuild的第四届“重构人生”年会上&#xff0c;当时我还想&#xff0c;“哈&#xff0c;CSS也有模块化&#xff0c;我没听错吧&#xff1f;”事实上&#xff0c;我没听错&#xff0c;你也没看错&#xff0c;早就有CSS模块化这个概念了。之…

用jQuery写的一个翻页,并封装为插件,

用jQuery写的一个翻页&#xff0c;并封装为插件&#xff0c; 1 *{2 margin:0;3 padding: 0;4 list-style: none;5 text-decoration: none;6 }7 .page{8 width:500px;9 margin:100px auto; 10 color: #ccc; 11 } 12 .page a{ 13 display: inlin…

Ubuntu 将 /home 或 /var 目录挂载到新的分区

背景 在使用 docker 的过程中&#xff0c;docker 会将某些产物放到 /var/lib/docker/volumes 这会占用很大的跟目录磁盘空间&#xff0c;于是想办法将 /var 目录挂载到另一个一个单独的磁盘上面。 参考链接如下&#xff1a;Ubuntu将var目录挂载到新硬盘 步骤 1. 查看当前磁…

php 500 内部服务器错误,php 500 - 内部服务器错误的解决方法

php 500 - 内部服务器错误的解决方法发布时间&#xff1a;2020-11-04 09:55:31来源&#xff1a;亿速云阅读&#xff1a;71作者&#xff1a;小新小编给大家分享一下php 500 - 内部服务器错误的解决方法&#xff0c;相信大部分人都还不怎么了解&#xff0c;因此分享这篇文章给大家…

网游生命周期在百度指数曲线上呈“M”形分布,各阶段搜索行为呈一定特征

&#xff08;本文转载自&#xff1a;http://data.baidu.com/youxi3/part1.html&#xff09; 产品生命周期就是一种新产品从开始进入市场到被市场淘汰的整个过程&#xff0c;进人和退出市场分别标志着周期的开始和结束。网络游戏的生命周期一般可以划分成测试期、成长期、成熟期…

配置Open***使用User/Pass方式验证登录

Open***和PPTP ***相比存在诸多的优势&#xff0c;最明显的是Open***支持NAT穿越&#xff0c;也就是说在nat环境下使用open***只需要一个在路由器上做一个端口映射即可&#xff01;不需要其他路由的支持&#xff0c;要知道不是所有的路由器都支持配置NAT穿越&#xff0c;只有高…

常惠琢 201771010102《面向对象程序设计(java)》第七周学习总结

实验七 继承附加实验 实验时间 2018-10-11 1、实验目的与要求 &#xff08;1&#xff09;进一步理解4个成员访问权限修饰符的用途&#xff1b; &#xff08;2&#xff09;掌握Object类的常用API用法&#xff1b; &#xff08;3&#xff09;掌握ArrayList类用法与常用API&#…

nginx php站点配置文件,php网站修改默认访问文件的nginx配置

搭建好lnmp后&#xff0c;有时候并不需要直接访问index.php&#xff0c;配置其他的默认访问文件比如index.html这时候需要配置一下nginx才能访问到你想要设置的文件直接上代码&#xff0c;如下是我的配置的一份简单的nginx到php-fpm的站点&#xff0c;该站点默认访问目录/ecmob…

CMake 打包已经存在的动态库生成 target

一. 背景 在 CMakeLists.txt 中&#xff0c;某模块 A 通过 add_subdirectory 引入模块 B &#xff0c;模块 B 通过 add_subdirectory 引入模块 C。模块 C 里面本身就是一个开源的动态库&#xff0c;比如 libtask。目的想要将 C 模块打包成一个 Target &#xff0c;以便在 A 模…

Ruby: Ruby脚本在测试中的使用

如果存在以下的场景&#xff1a;1. 放置在公司的读报机服务器&#xff0c;每天都是开启的&#xff1b;2. 读报机每天下载报纸&#xff0c;一旦成功/失败&#xff0c;就会有相应的记录生成在某个xml文件中&#xff1b;3. 现在有过去一年的读报机下载xml&#xff0c;大约有200多份…

cocos2d-xna for win8源代码轻松移植cocos-xna for wp游戏

无意间看到杨哥弄了一个cocos2d-xna for win8出来可惜没有放出源代码&#xff0c;我试着要了一下结果他没理我&#xff0c;各种画圈圈。 那我只好自己弄一个了&#xff0c;源代码放出大家供交流学习使用&#xff0c;像杨哥说的一样就是一点小bug很容易该成把wp改成win8版的&…

Oct 2018

Tasks motion planning code in Autonomous DrivingUdacity RoboticsNDCoursera RoboticsMotion PlanningEstimationF1/10 racecarProject Overview 1. Mooc Udacity RoboticsND: project 3 Coursera Robotics Motion Planning HomeworkNote --> Post  2. Leetcode ☆☆ …

Springboot+mybatisplus搭建新闻管理系统

模块化实现&#xff0c;一周轻松搭建 前端 后端 项目源码及其教程回复已三连备注邮箱领取

SQL Server存储过程输入参数使用表值

在2008之前如果我们想要将表作为输入参数传递给SQL Server存储过程使比较困难的&#xff0c;可能需要很多的逻辑处理将这些表数据作为字符串或者XML传入。 在2008中提供了表值参数。使用表值参数&#xff0c;可以不必创建临时表或许多参数&#xff0c;即可向 Transact-SQL 语句…

ef core mysql 字符集,EF Core 基础知识

数据库连接字符串在 ASP.NET Core 添加配置片段&#xff1a;{"ConnectionStrings": {"BloggingDatabase": "Server(localdb)\\mssqllocaldb;DatabaseEFGetStarted.ConsoleApp.NewDb;Trusted_ConnectionTrue;"}}然后&#xff0c;配置对应的DbCont…

模板特化,全特化,偏特化,全部特化,部分特化的含义

模板特化&#xff0c;任何针对模板参数进一步进行条件限制设计的特化版本。《泛型思维》 全特化就是全部特化&#xff0c;即针对所有的模板参数进行特化。《c primer》偏特化就是部分特化&#xff0c;即针对部分模板参数进行特化。《c primer》全特化和偏特化的定义不是很严格&…

PHP中单例模式:三私一公是什么?

PHP中单例模式&#xff1a;三私一公是什么&#xff1f; 三私一公 私有化静态属性 私有化构造方法 私有化克隆方法 公有化静态方法 ​​​​ 转载于:https://www.cnblogs.com/phpisfirst/p/9792545.html

php 缓存模块,PHP缓存之模块缓存(APC)_PHP教程

PHP缓存之模块缓存(APC)APC是Alternative PHP Cache的简称&#xff0c;是 PHP 的一个免费公开的优化代码缓存。它用来提供免费&#xff0c;公开并且强健的架构来缓存和优化 PHP 的中间代码。1、PHP配置APC开启APC模块&#xff0c;需要将 extensionphp_apc.dll 前面的注释去掉即…

pta 考试座位

L1-005 考试座位号 (15 分) 每个 PAT 考生在参加考试时都会被分配两个座位号&#xff0c;一个是试机座位&#xff0c;一个是考试座位。正常情况下&#xff0c;考生在入场时先得到试机座位号码&#xff0c;入座进入试机状态后&#xff0c;系统会显示该考生的考试座位号码&#…