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 全局AJAX事件使用代码
Nov 05 Javascript
自用js开发框架小成 学习js的朋友可以看看
Nov 16 Javascript
js监听输入框值的即时变化onpropertychange、oninput
Jul 13 Javascript
javascript修改表格背景色实例代码分享
Dec 10 Javascript
JS应用正则表达式转换大小写示例
Sep 18 Javascript
jQuery中toggleClass()方法用法实例
Jan 05 Javascript
jQuery实现获取table表格第一列值的方法
Mar 01 Javascript
React Native之ListView实现九宫格效果的示例
Aug 02 Javascript
基于Vue的延迟加载插件vue-view-lazy
May 21 Javascript
JS中async/await实现异步调用的方法
Aug 28 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
Sep 01 Javascript
使用React代码动态生成栅格布局的方法
May 24 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 is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
2015/11/09 Javascript
Boostrap基础教程之JavaScript插件篇
2016/09/08 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
node.js-v6新版安装具体步骤(分享)
2017/09/06 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
Babel 入门教程学习笔记
2018/06/13 Javascript
Vue.js 利用v-for中的index值实现隔行变色
2018/08/01 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
微信小程序 JS动态修改样式的实现方法
2018/12/16 Javascript
JS apply用法总结和使用场景实例分析
2020/03/14 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
Vue父子之间值传递的实例教程
2020/07/02 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
js加减乘除精确运算方法实例代码
2021/01/17 Javascript
python实现通过shelve修改对象实例
2014/09/26 Python
Python标准库之Sys模块使用详解
2015/05/23 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
python可迭代对象去重实例
2020/05/15 Python
美国嘻哈首饰购物网站:Hip Hop Bling
2016/12/30 全球购物
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
西班牙高科技产品购物网站:MejorDeseo
2019/09/08 全球购物
Ellos瑞典官网:北欧地区时尚、美容和住宅领域领先的电子商务网站
2019/11/21 全球购物
车间副主任岗位职责
2013/12/24 职场文书
环保项目建议书
2014/08/26 职场文书
年检委托书
2014/08/30 职场文书
公证委托书格式
2014/09/13 职场文书
2016年6.5世界环境日宣传活动总结
2016/04/01 职场文书
pytorch 6 batch_train 批训练操作
2021/05/28 Python
python数据分析之单因素分析线性拟合及地理编码
2022/06/25 Python