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 URL地址获取函数代码(端口等) 推荐
May 15 PHP
PHP下常用正则表达式整理
Oct 26 PHP
pdo中使用参数化查询sql
Aug 11 PHP
PHP禁止页面缓存的代码
Oct 23 PHP
解析linux下安装memcacheq(mcq)全过程笔记
Jun 27 PHP
PHP检测移动设备类mobile detection使用实例
Apr 14 PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
Dec 05 PHP
php时间计算相关问题小结
May 09 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
Apr 27 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
Oct 11 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 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数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
Zend的MVC机制使用分析(一)
2013/05/02 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
php文件系统处理方法小结
2016/05/23 PHP
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
vue.js绑定class和style样式(6)
2016/12/09 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
H5实现手机拍照和选择上传功能
2019/12/18 Javascript
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
python中requests小技巧
2017/05/10 Python
python中的字典操作及字典函数
2018/01/03 Python
django 自定义过滤器的实现
2019/02/26 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
2020/01/14 Python
Django ORM 查询表中某列字段值的方法
2020/04/30 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
鱼油专家:Omegavia
2016/10/10 全球购物
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
《故乡》教学反思
2014/04/10 职场文书
本科应届生自荐信
2014/06/29 职场文书
导师对论文的学术评语
2015/01/04 职场文书
爱国影片观后感
2015/06/18 职场文书
护理工作心得体会
2016/01/22 职场文书
如何拟写通知正文?
2019/04/02 职场文书
Python中super().__init__()测试以及理解
2021/12/06 Python
Mysql如何查看是否使用到索引
2022/12/24 MySQL