ajax同步导致ajax上面的代码不执行?

js代码:
环境:IE11
要求:点击一个按钮后,页面xxx的地方立即显示"开始处理...",直到ajax处理结束后,xxx内容才更新为新的处理结果;
点击事件执行代码如下:
xxx.innerHTML="开始处理...";
$.ajax(...async:false,...);//ajax同步
问题:
点击按钮后,页面上并没有显示"开始处理...";而是在ajax执行完后,页面xxx位置直接显示处理后的结果;
个人解析:
js执行innerHTML到页面显示"开始处理..."是2个动作,一个是js执行,一个是浏览器渲染,中间有个时间差,
js执行完innerHTML后,页面上还没来得及显示"开始处理..."时,js就执行到了ajax部分,而ajax同步会导致锁定浏览器,表现为页面内容不会更改;
当ajax执行回调函数时,对xxx内容进行二次赋新值,所以在"开始处理..."还未显示时,由于此时xxx已经更新为新值,页面之后直接显示为新值;
如何让页面在执行ajax期间显示innerHTML中的内容"开始处理..."?
设置1个定时器,在innerHTML后延迟100ms再执行ajax;即:
xxx.innerHTML="开始处理...";
setTimeout(function(){
 $.ajax(...async:false,...);//ajax同步
},100);

时间: 2024-10-14 13:26:26

ajax同步导致ajax上面的代码不执行?的相关文章

Git同步更新操作GitHub和码云仓库上面的代码

一.前言 问题: 小编在生活中,一般都是将代码保存到github上,但由于国内的码云仓库确实速度比github快很多,用起来也很方便,于是后来就慢慢转码云了,当然小编在github上的代码也不想放弃更新,于是有没有方法可以让我们可以同步更新这两个git远程仓库呢?? 答案: 办法肯定是有的,下面我们就来实际进行操作一下吧 ~ 二.同步更新操作GitHub和码云仓库代码 即提交代码时,github仓库和码云仓库上的代码都同步更新提交上去了,而不需要分开去进行两次提交 ~ (1)将github和码云

Android jni aes加解密,实现文件的加解密,具体实现可以自行修改,上面的代码为简单介绍,下面的是JNI端实现文件加解密,可以修改为字符串加解密

#include "aes.h" #include "modes.h" #include "e_os2.h" #include "aes_locl.h" #include "opensslconf.h" AES_KEY aes; //aes cbc模式加解密用到的向量 unsigned char iv[AES_BLOCK_SIZE]; for (i = 0; i < AES_BLOCK_SIZE; i

有访问权限的gitlab如何把上面的代码clone到本地

首先确保在gitlab上我的账号是有权限访问这部分代码的: 然后在终端使用命令ssh-keygen然后一路回车即可,这样终端上的输出会告诉你生成的秘钥保存在哪里了: 去这个路径获得秘钥: 从头到尾复制秘钥然后去gitlab个人setting里找ssh-key把这个秘钥添加进去: 这样就能在本地的文件里git init后,git clone [email protected]将代码拉到本地了. 如果要把branch的取下来,就比如有个叫dev的branch分支吧,先git remote add o

Delphi 窗体失踪在最上面的代码

unit ufrmSysPubMessage; interface uses  Windows, Forms, Messages, Classes, ExtCtrls, Controls, StdCtrls; type  TfrmSysPubMessage = class(TForm)    Image1: TImage;    lblMessage: TLabel;    procedure FormCreate(Sender: TObject);  protected    IconID: 

10个造型奇特的css3进度条(有的html被编辑器转义了,上面的代码还是OK的)。。。转载

<div id="caseVerte"> <div id="case1"></div> <div id="case2"></div> <div id="case3"></div> <div id="case4"></div> <div id="case5"></d

oldboy.32-python程序在linux上面的创建与执行

在Linux里面可以通过2种方式创建python命令: 直接命令行:python,打开解释器,然后输入命令如: 1 names=["yun","ai","yuan","xi"] 2 for i in names 3 print("hello "+str(i)) 另外一种是创建文件夹me,在里面创建文档control_11_for,输入命令代码,然后通过Python control_11_for执行即可. 小

通过Webstorm上传代码到Github、更新代码后同步到github及克隆github代码到本地的方法

导读: Github做为IT爱好者分享代码的一个知名的平台,广受大家喜欢,那么我们平时该怎么将自己写的代码上传到github上面保存并且提供给其他人参考? 我想方法不外乎如下几个: 1.直接在github网页上面上传代码(没试过) : 2.利用git工具,下载git然后利用命令行工具上传代码,这种方式需要更多的命令行知识,对于不熟悉命令行工具的小伙伴来说是个很头疼的事: 3.利用开发工具Webstorm来进行类似图形化方式上传代码,这种方法简单容易,也是本文重点要讲述的! 问题1:那么如何利用W

ajax同步请求时,google浏览器崩溃。改用Deferred

jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本. 每个版本都会引入一些新功能.今天我想介绍的,就是从jQuery 1.5.0版本开始引入的一个新功能----deferred对象. 这个功能很重要,未来将成为jQuery的核心方法,它彻底改变了如何在jQuery中使用ajax.为了实现它,jQuery的全部ajax代码都被改写了.但是,它比较抽象,初学者很难掌握,网上的教程也不多.所以,我把自己的学习笔记整理出来了,希望对大家有用. 本文不是初级教程,针对的读者是那些已经具备

初次使用git上传代码到github远程仓库

https://blog.csdn.net/loner_fang/article/details/80488385 2018年05月28日 21:02:31 蒲公英上的尘埃 阅读数:697 因为最近在学习自动化测试,所以想要把自己的代码管理起来,于是就研究了github,查阅了很多资料,搞的时候也是一头雾水,第一次上传成功的时候都不知道自己是怎么传上去的,稀里糊涂的,然后又回过头去一步一步看,才知道了整个过程. 写下这篇博客是为了自己不知道的时候可以回头来看看,同时也是希望能给和我一样刚刚起步的