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 相关文章推荐
JS 文件本身编码转换 图文教程
Oct 12 Javascript
Jquery替换已存在于element上的event的方法
Mar 09 Javascript
读jQuery之七 判断点击了鼠标哪个键的代码
Jun 21 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
Mar 01 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
May 21 Javascript
浅谈通过JS拦截 pushState和replaceState事件
Jul 21 Javascript
JS按钮闪烁功能的实现代码
Jul 21 Javascript
Django使用多数据库的方法
Sep 06 Javascript
JavaScript中import用法总结
Jan 20 Javascript
重学JS之显示强制类型转换详解
Jun 30 Javascript
微信小程序通过js实现瀑布流布局详解
Aug 28 Javascript
JavaScript工具库MyTools详解
Jan 01 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中判断变量为空的几种方法小结
2013/11/12 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
AngularJS控制器详解及示例代码
2016/08/16 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
javascript按顺序加载运行js方法
2017/12/01 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
vue v-model动态生成详解
2018/06/30 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
layui富文本编辑器前端无法取值的解决方法
2019/09/18 Javascript
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
Python获取DLL和EXE文件版本号的方法
2015/03/10 Python
Python中shutil模块的学习笔记教程
2017/04/04 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
C语言如何决定使用那种整数类型
2016/11/26 面试题
js实现弹框效果
2021/03/24 Javascript
毕业生的自我鉴定
2013/10/29 职场文书
电子商务毕业生求职信
2013/11/10 职场文书
采购部经理岗位职责
2014/02/10 职场文书
公证委托书大全
2014/04/04 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
服务承诺书怎么写
2014/05/24 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
孔庙导游词
2015/02/04 职场文书
英语辞职信范文
2015/02/28 职场文书