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 相关文章推荐
DOMXML函数笔记
Oct 09 PHP
探讨PHP删除文件夹的三种方法
Jun 09 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
Jun 10 PHP
codeigniter框架批量插入数据
Jan 09 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
Apr 08 PHP
destoon公司主页模板风格的添加方法
Jun 20 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
Nov 12 PHP
使用phpstorm和xdebug实现远程调试的方法
Dec 29 PHP
详解WordPress中分类函数wp_list_categories的使用
Jan 04 PHP
Windows平台实现PHP连接SQL Server2008的方法
Jul 26 PHP
tp5修改(实现即点即改)
Oct 18 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
Feb 12 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
便携利器 — TECSUN PL-365简评
2021/03/02 无线电
mysql 的 like 问题,超强毕杀记!!!
2007/01/18 PHP
dedecms函数分享之获取某一栏目所有子栏目
2014/05/19 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
基于SVG的web页面图形绘制API介绍及编程演示
2013/06/28 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
js取整数、取余数的方法
2014/05/11 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
JavaScript中的setUTCDate()方法使用详解
2015/06/11 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
2020/02/11 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
pycharm安装图文教程
2017/05/02 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
django反向解析URL和URL命名空间的方法
2018/06/05 Python
python使用turtle库绘制时钟
2020/03/25 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
2019/08/23 Python
python sorted函数的小练习及解答
2019/09/18 Python
Python 复平面绘图实例
2019/11/21 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
2020/11/09 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
知识竞赛活动方案
2014/02/18 职场文书
教育技术职业规划范文
2014/03/04 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
小学科学教学计划
2015/01/21 职场文书
财务统计员岗位职责
2015/04/14 职场文书
聚众斗殴罪辩护词
2015/05/21 职场文书
HTML中的表格元素介绍
2022/02/28 HTML / CSS