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 相关文章推荐
jQuery入门知识简介
Mar 04 Javascript
JavaScript 用cloneNode方法克隆节点的代码
Oct 15 Javascript
JQuery获取各种宽度、高度(format函数)实例
Mar 04 Javascript
jQuery选择器源码解读(八):addCombinator函数
Mar 31 Javascript
jquery序列化方法实例分析
Jun 10 Javascript
JavaScript基本数据类型及值类型和引用类型
Aug 25 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
Oct 22 Javascript
一个简单的JavaScript Map实例(分享)
Aug 03 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
Jun 06 Javascript
javascript实现二叉树遍历的代码
Jun 08 Javascript
微信小程序HTTP接口请求封装代码实例
Sep 05 Javascript
微信小程序中使用 async/await的方法实例分析
May 06 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
纯真IP数据库的应用 IP地址转化成十进制
2009/06/14 PHP
PHP下对字符串的递增运算代码
2010/08/21 PHP
php中spl_autoload详解
2014/10/17 PHP
通过源码解析Laravel的依赖注入
2018/01/22 PHP
javascript编程起步(第七课)
2007/01/10 Javascript
js jquery获取随机生成id的服务器控件的三种方法
2013/07/11 Javascript
JS操作CSS随机改变网页背景实现思路
2014/03/10 Javascript
json中换行符的处理方法示例介绍
2014/06/10 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
JavaScript极简入门教程(一):基础篇
2014/10/25 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
2015/06/10 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
浅谈JavaScript对象的创建方式
2016/06/13 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
2016/07/04 Javascript
利用iscroll4实现轮播图效果实例代码
2017/01/11 Javascript
vue中将网页打印成pdf实例代码
2017/06/15 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
Python中每次处理一个字符的5种方法
2015/05/21 Python
关于Python解包知识点总结
2020/05/05 Python
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
法国家具及室内配件店:home24
2017/01/21 全球购物
普通员工辞职信
2014/01/17 职场文书
安全生产责任书
2014/03/12 职场文书
校企合作协议书
2014/04/16 职场文书
中学生运动会新闻稿
2014/09/24 职场文书
自主招生推荐信怎么写
2015/03/26 职场文书
Python 如何解决稀疏矩阵运算
2021/05/26 Python
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android
解析python中的jsonpath 提取器
2022/01/18 Python
python神经网络 使用Keras构建RNN训练
2022/05/04 Python