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与jquery中获取当前鼠标的x、y坐标位置的代码
May 23 Javascript
JavaScript中的noscript元素属性位置及作用介绍
Apr 11 Javascript
extjs 分页使用jsp传递数据示例
Jul 29 Javascript
JS继承用法实例分析
Feb 05 Javascript
JavaScript将一个数组插入到另一个数组的方法
Mar 19 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
Oct 01 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
Oct 23 Javascript
学习JavaScript设计模式(多态)
Nov 25 Javascript
JS留言功能的简单实现案例(推荐)
Jun 23 Javascript
清除js缓存的多种方法总结
Dec 09 Javascript
JS实战篇之收缩菜单表单布局
Dec 10 Javascript
Python机器学习之决策树和随机森林
Jul 15 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扩展ZF――Validate扩展
2008/01/10 PHP
php 无法载入mysql扩展
2010/03/12 PHP
使用ThinkPHP+Uploadify实现图片上传功能
2014/06/26 PHP
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
9行javascript代码获取QQ群成员具体实现
2013/10/16 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
2014/07/23 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
jQuery绑定事件的几种实现方式
2016/05/09 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
2016/10/11 Javascript
微信小程序 网络请求(GET请求)详解
2016/11/16 Javascript
JavaScript函数节流的两种写法
2017/04/07 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
2019/10/10 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
js实现烟花特效
2020/03/02 Javascript
python根据日期返回星期几的方法
2015/07/06 Python
python:接口间数据传递与调用方法
2018/12/17 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
卫校毕业生自我鉴定
2013/10/31 职场文书
低碳环保标语
2014/06/12 职场文书
假释思想汇报范文
2014/10/11 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript
web前端之css水平居中代码解析
2021/05/20 HTML / CSS
python中的装饰器该如何使用
2021/06/18 Python
Vue3如何理解ref toRef和toRefs的区别
2022/02/18 Vue.js
什么是css原子化,有什么用?
2022/04/24 HTML / CSS