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 相关文章推荐
给jqGrid数据行添加修改和删除操作链接(之一)
Nov 04 Javascript
通过JS来判断页面控件是否获取焦点
Jan 03 Javascript
jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
May 22 Javascript
页面加载完后自动执行一个方法的js代码
Sep 06 Javascript
JS模拟键盘打字效果的方法
Aug 05 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
May 25 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
Oct 28 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
Mar 08 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
Apr 13 Javascript
vue v-model表单控件绑定详解
May 17 Javascript
微信小程序动态显示项目倒计时效果
Jun 13 Javascript
Vue的双向数据绑定实现原理解析
Feb 17 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面向对象——访问修饰符介绍
2012/11/08 PHP
php启动时候提示PHP startup的解决方法
2013/05/07 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
jQuery Validate设置onkeyup验证的实例代码
2016/12/09 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
JS实现标签滚动切换效果
2017/12/25 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
2018/03/07 Javascript
微信小程序实现自动定位功能
2018/10/31 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
JavaScript实现抖音罗盘时钟
2019/10/11 Javascript
JavaScript监听一个DOM元素大小变化
2020/04/26 Javascript
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
对于Python中RawString的理解介绍
2016/07/07 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
Python实现字典的遍历与排序功能示例
2017/12/23 Python
Python numpy实现数组合并实例(vstack,hstack)
2018/01/09 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
2018/08/07 Python
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
2019/09/02 Python
python树的同构学习笔记
2019/09/14 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
html5教程调用绘图api画简单的圆形代码分享
2013/12/04 HTML / CSS
西安启天科技有限公司网络工程师面试题笔试题
2016/06/12 面试题
Why do we need Unit test
2013/01/03 面试题
会计演讲稿范文
2014/05/23 职场文书
银行进社区活动总结
2014/07/07 职场文书
关心下一代工作先进事迹
2014/08/15 职场文书
机关领导干部作风整顿整改措施
2014/09/19 职场文书
党的群众路线教育实践活动实施方案
2014/10/31 职场文书
sql注入教程之类型以及提交注入
2021/08/02 MySQL