PHP实现简单ajax Loading加载功能示例


Posted in PHP onDecember 28, 2016

本文实例讲述了PHP实现简单ajax Loading加载功能。分享给大家供大家参考,具体如下:

var xmlHttp;
function createXmlHttpReq() {
  if(window.ActiveXObject) {
    xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
  } else if(window.XMLHttpRequest) {
    xmlHttp = new XMLHttpRequest();
  }
}
function funMy(url) {
  createXmlHttpReq();
  try {
    xmlHttp.onreadystatechange = cb;//一定要在open()前,下边会有说明。在此处犯错了
    xmlHttp.open("GET","for.php?id="+url,true);
    xmlHttp.send(null);
  } catch(e) {
    alert("您访问的资源不存在");
  }
}
//回调函数
function cb() {
  if(xmlHttp.readyState==1) {
    alert("1-------------->");
    //在Google Chrome 浏览器里不显示loading图片,三秒后显示内容,问题已解决,下边有说明
    document.getElementById('ajax').innerHTML = "<img src=loading2.gif>";
    //document.getElementById('ajax').innerHTML = "Loading......";
  }
  if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
      var data = xmlHttp.responseText;
      document.getElementById('ajax').innerHTML = data;
  }
}

测试的时候,被 Chrome 给绊着了。请看下边解释:

这样写本来就不会接到.readyState==1的回应

因为1是表示已经调用.open()完成

但是.open()在.onreadystatechange事件前就被调用了,所以你应该不可能接到.readyState==1的回应

故,想接到.readyState==1 =>.onreadystatechange必须在.open()之前
那么为什么有时候接到呢?

因为你使用同一个全局变量...在连续操作时有可能会因为一个xhr请求还在等候php而又将它再次初始化引发

应该先决定数据的处理方式onreadystatechange,在送出要处理的数据open()

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP写MySQL数据 实现代码
Jun 15 PHP
Discuz 6.0+ 批量注册用户名
Sep 13 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
Jul 18 PHP
php array的学习笔记
May 16 PHP
在PHP中设置、使用、删除Cookie的解决方法
May 06 PHP
windows7下安装php的php-ssh2扩展教程
Jul 04 PHP
CMS中PHP判断系统是否已经安装的方法示例
Jul 26 PHP
学习PHP的数组总结【经验】
May 05 PHP
smarty中改进truncate使其支持中文的方法
May 30 PHP
PHP使用函数用法详解
Sep 30 PHP
PHP实现字符串的全排列详解
Apr 24 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
Dec 28 #PHP
PHP执行shell脚本运行程序不产生core文件的方法
Dec 28 #PHP
PHP MYSQL简易交互式站点开发
Dec 27 #PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
Dec 27 #PHP
PHP面向对象程序设计类的定义与用法简单示例
Dec 27 #PHP
PHP面向对象程序设计OOP继承用法入门示例
Dec 27 #PHP
记录一次排查PHP脚本执行卡住的问题
Dec 27 #PHP
You might like
PHP简单日历实现方法
2016/07/20 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
File, FileReader 和 Ajax 文件上传实例分析(php)
2011/04/27 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
js+cookies实现悬浮购物车的方法
2015/05/25 Javascript
Windows系统下Node.js的简单入门教程
2015/06/23 Javascript
js实现超酷的照片墙展示效果图附源码下载
2015/10/08 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
利用JS实现简单的日期选择插件
2017/01/23 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
2019/03/11 Javascript
使用layui实现的左侧菜单栏以及动态操作tab项方法
2019/09/10 Javascript
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
python网络编程之数据传输UDP实例分析
2015/05/20 Python
python3获取当前文件的上一级目录实例
2018/04/26 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
浅谈Python类中的self到底是干啥的
2019/11/11 Python
python实现人机五子棋
2020/03/25 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
详解HTML5通讯录获取指定多个人的信息
2016/12/20 HTML / CSS
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
客房部经理岗位职责
2015/02/02 职场文书
年底个人总结范文
2015/03/10 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书
python之json文件转xml文件案例讲解
2021/08/07 Python
FFmpeg视频处理入门教程(新手必看)
2022/01/22 杂记