ajax--怎么用ajax做到无刷新
2016-01-22 16:21
423 查看
点击按钮触发下面js
再看js里
open里 get是不需要发送内容给服务器
post需要发送信息给服务器接收
主要这几点
1创造xhr
2 open打开连接 send 发送请求
3监听的函数
<!-- ajax 核心-xmlhtprequest,一个专门http请求工具 xhr对象 request 服务器经过一些列response 浏览器没动xhr代替 如何创建xhr对象 new XMLHttpRequest()即可 考虑低版本ie678 new window.ActiveXObject('Microsoft.XMLHTTP') --> <img src="http://img3.imgtn.bdimg.com/it/u=4093643737,3232071282&fm=206&gp=0.jpg"> <input type="button" value="投票ajax" onclick="vote()" /> <div id="zt"></div>
再看js里
open里 get是不需要发送内容给服务器
post需要发送信息给服务器接收
<script type="text/javascript"> function createXHR(){ var xhr = null; if(window.XMLHttpRequest){ xhr=new XMLHttpRequest(); }else if(window.ActiveXObject){ xhr=new ActiveXObject('Microsoft.XMLHTTP'); } return xhr; } function vote(){ // 创造xhr var xhr=createXHR(); // 打开连接 xhr.open('GET','./2xhr.php',true); // 发送请求,到这一步就可以无刷新后台请求了 xhr.send(null); /*但是,不知道是不是成功与否 所以服务器怎么获得返回信息呢 使投票可能失败 xhr本身有一个属性,responseText 服务器返回信息的body主体内容,就是open里写的php得出的结果*/ // alert(xhr.responseText); // 如果弹出的是空白的话,那就是开了异步 /*true异步 不等到收到返回值就往下执行 false同步 send完成并得到返回值*/ /*使用异步,下面的继续执行,等请求完成怎么知道这个变化呢 在异步的时候xhr请求响应的过程中,状态会不断变化,0-4逐步变化 我们可以绑定一个函数,监听状态的变化,只要状态变化就触发某函数*/ xhr.onreadystatechange = function(){ var pg = document.getElementById('zt'); pg.innerHTML=pg.innerHTML + '状态现在变成' + this.readyState + '<br/>'; } } /* 状态最终变成4就是ok */ </script>
主要这几点
1创造xhr
2 open打开连接 send 发送请求
3监听的函数
xhr.onreadystatechange = function(){}
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- 解决Ajax悬停效果,无法遮蔽FLASH的问题
- 再谈Jquery Ajax方法传递到action(补充)
- Dom在ajax技术中的作用说明
- PHP+Apache在Windows 9x下的安装和配置
- 使用Ajax实时检测"用户名、邮箱等"是否已经存在
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- 探讨Ajax中同步与异步之间的区别