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 用sock技术发送邮件的函数
Jul 21 PHP
一步一步学习PHP(1) php开发环境配置
Feb 15 PHP
PHP CURL获取cookies模拟登录的方法
Nov 04 PHP
PHP使用逆波兰式计算工资的方法
Jul 29 PHP
Zend Framework教程之模型Model基本规则和使用方法
Mar 04 PHP
Smarty模板变量调节器用法分析
May 23 PHP
php分页原理 分页代码 分页类制作教程
Sep 23 PHP
php实现跨域提交form表单的方法【2种方法】
Oct 17 PHP
微信公众号OAuth2.0网页授权问题浅析
Jan 21 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
Jul 17 PHP
php中的explode()函数实例介绍
Jan 18 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
PHP file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
php对数组排序的简单实例
2013/12/25 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
javascript中简单的进制转换代码实例
2013/10/26 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
node.js中的fs.write方法使用说明
2014/12/15 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
Node.js实现JS文件合并小工具
2016/02/02 Javascript
分享JS数组求和与求最大值的方法
2016/08/11 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
2017/08/04 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
2017/09/12 Javascript
JavaScript基础心法 数据类型
2018/03/05 Javascript
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
2019/05/07 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
python中xrange和range的区别
2014/05/13 Python
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
使用Python绘制图表大全总结
2017/02/11 Python
基于Python和Scikit-Learn的机器学习探索
2017/10/16 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
python如何调用php文件中的函数详解
2020/12/29 Python
三星英国官网:Samsung英国
2018/09/25 全球购物
鸿星尔克广告词
2014/03/21 职场文书
500字小学生检讨书
2015/02/19 职场文书
Python机器学习之PCA降维算法详解
2021/05/19 Python
python文件与路径操作神器 pathlib
2022/04/01 Python