Ajax基础知识详解


Posted in Javascript onFebruary 17, 2017

Ajax主要的功能是实现了浏览器端 异步 访问服务器:通过浏览器的XMLHttpRequest对象发出小部分数据,与服务端进行交互,服务端返回小部分数据,然后更新客户端的部分页面。

1.先实例化XMLHttpRequest对象

var request;
if (window.XMLHttpRequest){
 request=new XMLHttpRequest();
}
else{
 request=new ActiveXObject("Microsoft.XMLHTTP");
 //兼容ie5 6
}

2.XMLHttpRequest的方法将请求发送给服务器

request.open("POST",get.php,true);//请求
//设置http的头信息,告诉服务器我们要以send键值对方式发送一个表单,
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//POST必须设置Content-Type的值在open与send之间
request.send("name=王二狗&sex=男");//用send方法提交给服务端

3.获取响应的方法

responseText 获得字符串形式的响应数据
responseXML 获得XML形式的响应数据
status和statusText 以数字和文本形式返回HTTP状态码
getAllResponseHeader() 获取所有的响应报头
getResponseHeader() 查询响应中的某个字段的值

4.监听readyState属性的变化很重要

    为0 请求未初始化,open还没有被调用

    为1 服务器连接已建立,open已经调用了

    为2 请求已被接收,接收到头的信息了

    为3 请求处理中,接收到响应体了

    为4 请求已完成,且响应就绪,响应完成了

//readyState变化时触发
//通过onreadystatechange事件判断readyState属性的变化
request.onreadystatechange=function(){
 if(request.readyState===4&&request.status===200){
 //做一些事情 比如获取响应数据request.responseText
 }
}

5.完整XHR

var request=new XMLHttpRequest();//1.创建XHR对象
request.open("GET","get.php?number=" +表单里需要提交的数据,true);//2.调用open方法
//这里如果是post请求。send的就是一个包含数据的对象
request.send();//发送一些数据
request.onreadystatechange=function(){ //3.进行监听判断服务器是否正确响应
 if(request.readyState===4&&request.status===200){
 //4.做一些事情 比如获取服务器响应内容request.responseText
 }
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
javascript判断用户浏览器插件安装情况的代码
Jan 01 Javascript
jquery uaMatch源代码
Feb 14 Javascript
js动画(animate)简单引擎代码示例
Dec 04 Javascript
A标签中通过href和onclick传递的this对象实现思路
Apr 19 Javascript
JS自动适应的图片弹窗实例
Jun 29 Javascript
Javascript中string转date示例代码
Nov 01 Javascript
Javascript中设置默认参数值示例
Sep 11 Javascript
使用iojs的jsdom库实现同步系统时间
Apr 20 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
May 25 Javascript
图解JavaScript中的this关键字
May 28 Javascript
jstree单选功能的实现方法
Jun 07 Javascript
Vue循环中多个input绑定指定v-model实例
Aug 31 Javascript
bootstrap中模态框、模态框的属性实例详解
Feb 17 #Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
Feb 17 #Javascript
原生js实现日期计算器功能
Feb 17 #Javascript
Vue自定义指令拖拽功能示例
Feb 17 #Javascript
BootStrap实现鼠标悬停下拉列表功能
Feb 17 #Javascript
javascript 判断当前浏览器版本并判断ie版本
Feb 17 #Javascript
JQuery validate 验证一个单独的表单元素实例
Feb 17 #Javascript
You might like
如何获得PHP相关资料
2006/10/09 PHP
Yii2实现上下联动下拉框功能的方法
2016/08/10 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
PHP cURL获取微信公众号access_token的实例
2018/04/28 PHP
javascript 文档的编码问题解决
2009/03/01 Javascript
js DOM模型操作
2009/12/28 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
2011/10/23 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
2012/10/11 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
bootstrapValidator自定验证方法写法
2016/12/01 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
2017/06/02 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
python使用SMTP发送qq或sina邮件
2017/10/21 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
浅析使用Python搭建http服务器
2019/10/27 Python
学习Python需要哪些工具
2020/09/04 Python
call在Python中改进数列的实例讲解
2020/12/09 Python
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
Ejb技术面试题
2015/04/29 面试题
药学专业大专生的自我评价
2013/12/12 职场文书
干部现实表现材料
2014/02/13 职场文书
马丁路德金演讲稿
2014/05/19 职场文书
物理学专业求职信
2014/07/04 职场文书
法人身份证明书
2014/10/08 职场文书
2015年农村党员公开承诺事项
2015/04/28 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
go语言map与string的相互转换的实现
2021/04/07 Golang