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

发布时间 - 2026-01-10 22:10:42    点击率:

本文实例讲述了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+ajax技巧与应用小结》、《PHP网络编程技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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


# PHP  # ajax  # Loading  # 加载  # 使用PHP+AJAX让WordPress动态加载文章的教程  # PHP通过反射动态加载第三方类和获得类源码的实例  # php+ajax实现无刷新动态加载数据技术  # JQuery页面随滚动条动态加载效果的简单实现(推荐)  # js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法  # jQuery实现页面滚动时动态加载内容的方法  # php+ajax+jquery实现点击加载更多内容  # jQuery+PHP+ajax实现微博加载更多内容列表功能  # PHP+jQuery实现滚屏无刷新动态加载数据功能详解  # 程序设计  # 会有  # 不可能  # 相关内容  # 还在  # 为你  # 感兴趣  # 错了  # 给大家  # 不存在  # 你应该  # 将它  # 更多关于  # 送出  # 前就  # 着了  # 所述  # 回调  # 面向对象  # 操作技巧 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  JavaScript实现Fly Bird小游戏  C#如何调用原生C++ COM对象详解  Laravel用户密码怎么加密_Laravel Hash门面使用教程  JS中对数组元素进行增删改移的方法总结  如何正确下载安装西数主机建站助手?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  制作旅游网站html,怎样注册旅游网站?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  如何在宝塔面板中修改默认建站目录?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  Laravel怎么连接多个数据库_Laravel多数据库连接配置  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  微信小程序 wx.uploadFile无法上传解决办法  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  香港服务器如何优化才能显著提升网站加载速度?  Laravel Session怎么存储_Laravel Session驱动配置详解  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  如何在VPS电脑上快速搭建网站?  详解CentOS6.5 安装 MySQL5.1.71的方法  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  公司门户网站制作流程,华为官网怎么做?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Laravel如何处理异常和错误?(Handler示例)  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  jQuery 常见小例汇总  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  如何在万网开始建站?分步指南解析  网站制作报价单模板图片,小松挖机官方网站报价?  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  Laravel PHP版本要求一览_Laravel各版本环境要求对照  Android okhttputils现在进度显示实例代码  node.js报错:Cannot find module &#39;ejs&#39;的解决办法  如何在橙子建站中快速调整背景颜色?  php485函数参数是什么意思_php485各参数详细说明【介绍】  Laravel如何使用Livewire构建动态组件?(入门代码)  如何用VPS主机快速搭建个人网站?  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  nodejs redis 发布订阅机制封装实现方法及实例代码  Thinkphp 中 distinct 的用法解析