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 相关文章推荐
JQery 渐变图片导航效果代码 漂亮
Jan 01 Javascript
JavaScript prototype属性深入介绍
Nov 27 Javascript
jquery插件推荐 jquery.cookie
Nov 09 Javascript
jQuery中each()方法用法实例
Dec 27 Javascript
浅谈javascript中的constructor
Jun 08 Javascript
js通过classname来获取元素的方法
Nov 24 Javascript
react-router v4如何使用history控制路由跳转详解
Jan 09 Javascript
详解JavaScript的BUG和错误
May 07 Javascript
webpack4 css打包压缩问题的解决
May 18 Javascript
如何把vuejs打包出来的文件整合到springboot里
Jul 26 Javascript
Next.js实现react服务器端渲染的方法示例
Jan 06 Javascript
node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例
Feb 11 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
如何使用脚本模仿登陆过程
2006/11/22 PHP
解析php中如何直接执行SHELL
2013/06/28 PHP
php中stream(流)的用法
2014/03/25 PHP
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
PDO::inTransaction讲解
2019/01/28 PHP
通过jquery的$.getJSON做一个跨域ajax请求试验
2011/05/03 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
jQuery实现二维码扫描功能
2017/01/09 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
webpack打包js的方法
2018/03/12 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
python实现的jpg格式图片修复代码
2015/04/21 Python
python 遍历字符串(含汉字)实例详解
2017/04/04 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
python实现飞机大战
2018/09/11 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
django 单表操作实例详解
2019/07/30 Python
python标记语句块使用方法总结
2019/08/05 Python
python tkinter canvas使用实例
2019/11/04 Python
Python实现大数据收集至excel的思路详解
2020/01/03 Python
python 绘制正态曲线的示例
2020/09/24 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
Ever New美国:澳大利亚领先的女装时尚品牌
2019/11/28 全球购物
香港士多网上超级市场:Ztore
2021/01/09 全球购物
亚马逊海外购:亚马逊美国、英国、日本、德国直邮
2021/03/18 全球购物
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
2014年自我评价
2014/01/04 职场文书
《草原》教学反思
2014/02/15 职场文书
作文批改评语大全
2014/04/23 职场文书