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实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
Mar 21 Javascript
使用Jquery打造最佳用户体验的登录页面的实现代码
Jul 08 Javascript
node中socket.io的事件使用详解
Dec 15 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
Mar 01 Javascript
jquery获取及设置outerhtml的方法
Mar 09 Javascript
JavaScript面向对象的实现方法小结
Apr 14 Javascript
详解javascript数组去重问题
Nov 06 Javascript
BootStrap table使用方法分析
Nov 08 Javascript
jQuery模拟窗口抖动效果
Mar 15 Javascript
AngularJS中控制器函数的定义与使用方法示例
Oct 10 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
Dec 19 Javascript
vue实现点击展开点击收起效果
Apr 27 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里的$_GET数组介绍
2019/03/22 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
2020/12/30 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
js验证是否为数字的总结
2013/04/14 Javascript
Jquery对数组的操作技巧整理
2014/03/25 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
jquery 动态合并单元格的实现方法
2016/08/26 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
jQuery实现简单轮播图效果
2020/12/27 jQuery
从零学python系列之从文件读取和保存数据
2014/05/23 Python
python中urllib模块用法实例详解
2014/11/19 Python
python实现简单socket程序在两台电脑之间传输消息的方法
2015/03/13 Python
python中set()函数简介及实例解析
2018/01/09 Python
python正则实现提取电话功能
2018/02/24 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
Opencv实现抠图背景图替换功能
2019/05/21 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
美国二手奢侈品寄售网站:TheRealReal
2016/10/29 全球购物
Claire’s法国:时尚配饰、美容、珠宝、头发
2021/01/16 全球购物
什么是事务?事务有哪些性质?
2012/03/11 面试题
保险专业大专生求职信
2013/10/26 职场文书
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
《小猫刮胡子》教学反思
2014/02/21 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
服务标兵事迹材料
2014/05/04 职场文书
公司募捐倡议书
2014/05/14 职场文书
服装设计专业求职信
2014/06/16 职场文书
英文版辞职信
2015/02/28 职场文书
家庭贫困证明
2015/06/16 职场文书
呐喊读书笔记
2015/06/30 职场文书