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中的string.format函数代码
Aug 11 Javascript
JS获取后台Cookies值的小例子
Mar 04 Javascript
jQuery使用技巧简单汇总
Apr 18 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
Dec 13 Javascript
深入理解jQuery中live与bind方法的区别
Dec 18 Javascript
在javascript中执行任意html代码的方法示例解读
Dec 25 Javascript
javascript实现数组中的内容随机输出
Aug 11 Javascript
js实现横向伸展开的二级导航菜单代码
Aug 28 Javascript
AngularJs 指令详解及示例代码
Sep 01 Javascript
浅析vue插槽和作用域插槽的理解
Apr 22 Javascript
javascript实现简单搜索功能
Mar 26 Javascript
微信小程序实现点击页面出现文字
Sep 21 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判断GIF图片是否为动画的方法
2020/09/04 PHP
php实现多维数组排序的方法示例
2017/03/23 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
Thinkphp 框架扩展之应用模式实现方法分析
2020/04/27 PHP
js树形控件脚本代码
2008/07/24 Javascript
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
jQuery()方法的第二个参数详解
2015/04/29 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
详解JavaScript函数对象
2015/11/15 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
2016/05/03 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
Angular之toDoList的实现代码示例
2017/12/02 Javascript
JS实现的文字间歇循环滚动效果完整示例
2018/02/13 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
[01:39:42]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python映射列表实例分析
2015/01/26 Python
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
Python标准库之itertools库的使用方法
2017/09/07 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
python利用小波分析进行特征提取的实例
2019/01/09 Python
python实现根据文件格式分类
2019/10/31 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
高二政治教学反思
2014/02/01 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
中药学专业求职信
2014/05/31 职场文书
学校春季防火方案
2014/06/08 职场文书
纪检干部先进事迹材料
2014/08/23 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
优秀班主任推荐材料
2014/12/17 职场文书
使用Django框架创建项目
2022/06/10 Python