AJAX的概念介绍
AJAX学习
1.XMLHttpRequest对象创建
var request= new XMLHttpRequest();
兼容ie6。ie5
var request;
if(windoe.XMLHttpRequest){
request= new XMLHttpRequest();//IE7+,Firefor,Chorme,Opera,....
}else{
request=new ActiveXObject("Microsoft.XMLHTTP");//IE6。IE5
}
2.HTTP请求步骤
(1)建立TCP连接
(2)Web浏览器向Webserver发送请求命令
(3)Webserver发送请求头信息
(4)Webserver应答
(5)Webserver发送应答信息
(6)Webserver向浏览器发送数据
(7)Webserver关闭TCP连接
3.HTTP请求一般由四部分组成
(1)HTTP请求的方法或动作。比方是GET还是POST请求
(2)正在请求的URL。总得知道请求的地址是什么
(3)请求头,包括一些client环境信息,身份验证信息等
(4)请求体,就是请求正文。请求正文中能够包含客户提交的查询字符串信息,表单信息等等
.GET:一般用于信息获取,使用URL传递參数,对所发送信息的数量有限,一般在2000个字符
.POST:一般用于改动server上的资源。
对所发送信息的数量无限。是比GET安全。
4.HTTP响应一般由三部分组成
(1)一个数组和文字组成的状态码。用来显示请求是成功还是失败
(2)响应头,包括非常多实用信息,如:server类型、日期时间、内容类型和长度等
(3)响应体,就是响应正文
5.HTTP状态码
.1XX:信息类,表示收到Web浏览器请求,正在进一步的处理中
.2XX:成功,表示用户请求被正确接收。处理。如:200 OK
.3XX:重定向,表示请求没有成功。客户必须採取进一步的动作
.4XX:client错误,表示client提交的请求有错误,如:404 NOT Found,意味着请求中所引用的文档不存在
.5XX:server错误,表示server不能完毕对请求的处理:如500
6.XMLHttpRequest发送请求
.open(method,url,async)[请求方法。请求地址,请求同步、异步]
.send(string)
注意:使用GET请求时send能够为null。使用POST请求send不能为null。
样例:
request.open("GET","get.php",true);
request.send();
request.open("POST","post.php",true);
request.send();
request.open("POST","sreate.php","true");
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
request.send("name=hyp&sex=女");
注意:setRequestHeader()方法设置http头信息。一定是在open和send之间。
7.XMLHttpRequest取得响应
.responseText:获取字符串形式的响应数据
.responseXML:获取XML形式的响应数据
.status和statusText:以数字和文本形式返回HTTP状态码
.getAllResponseHeader():获取全部的响应报头
.getResponseHeader():查询响应中的某个字段的值
.readyState属性
>0:请求末初始化,open还没有调用
>1:server连接已建立。open已经调用了
>2:请求已接收,也就是接收到头信息了
>3:请求处理中,也就是接收到响应主体了
>4:请求已完毕,且响应已就绪。也就是响应完毕了
AJAX的概念介绍的更多相关文章
- activemq概念介绍
ActiveMQ概念介绍 是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,消息中间件. 消息中间件: A传递消息到B(功能或者系统),有比较强的耦合 ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...
- AJAX初探,XMLHttpRequest介绍
AJAX初探,XMLHttpRequest介绍 AJAX AJAX = Asynchronous JavaScript and XML. 异步的JavaScript和XML. AJ ...
- Linux LVM硬盘管理之一:概念介绍
一.LVM概念介绍: LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻 ...
- JQuery中的AJAX参数详细介绍
Jquery中AJAX参数详细介绍 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方 ...
- Java SE/ME/EE的概念介绍
转自 Java SE/ME/EE的概念介绍 多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用. ...
- ThinkPHP页面跳转、Ajax技巧详细介绍(十八)
原文:ThinkPHP页面跳转.Ajax技巧详细介绍(十八) ThinkPHP页面跳转.Ajax技巧详细介绍 一.页面跳转 $this->success('查询成功',U('User/test' ...
- rocketMq概念介绍
rocketMq官网 http://rocketmq.apache.org/ rocketMq逻辑概念介绍 rocketMq逻辑图 备注: 改图片分享自李占卫的网上家园 说明: 在rocketM ...
- java 并发多线程 锁的分类概念介绍 多线程下篇(二)
接下来对锁的概念再次进行深入的介绍 之前反复的提到锁,通常的理解就是,锁---互斥---同步---阻塞 其实这是常用的独占锁(排它锁)的概念,也是一种简单粗暴的解决方案 抗战电影中,经常出现为了阻止日 ...
随机推荐
- 通过安全策略限制局域网部分IP访问我的电脑
一旦电脑连上局域网,那么别人就容易进入自己的电脑,造成隐私被泄漏,这是我们最不愿发生的情况.因此,如果你的电脑并不需要向局域网其他用户共享资料,那么就建议采用策略,禁止局域网电脑访问自己的电脑,以保证 ...
- 使用AFNetworking时, 控制器点击返回销毁了, 但还是会执行请求成功或失败的block, 导致野指针异常
原本我以为是我程序框架有问题...后来才知道, 无知真可怕... __unsafe_unretained __block typeof(self) weakSelf = self; AFHTTPSes ...
- java swing 音乐播放器-乐乐音乐
乐乐音乐1.0(本地版) 乐乐音乐是基于musique 开源播放器开发的java swing音乐播放器,实现了mp3.flac.ape.wav等多种音频格式的播放和ksc歌词的解析.制作和显示. 完成 ...
- [java] Java NIO 学习笔记 I
如今在运行时优化方面,JVM 已然前进了一大步.现在 JVM 运行字节码的速率已经接近本地 编译代码,借助动态运行时优化,其表现甚至还有所超越.这就意味着,多数 Java 应用程序已不 再受 CPU ...
- Mysql中的DQL查询语句
----------------1.查询所有列 --查询 学生 表所有记录(行) select *from 学生 --带条件的查询 select *from 学生 where 年龄>19 --- ...
- 【转】基于jquery的无刷新表格分页
效果图 css样式 <style> html,body{margin: 0;padding:0} a:focus {outline: none;} /* 通用表格显示 */ table, ...
- Linq延迟执行
LINQ中大部分查询运算符都有一个非常重要的特性:延迟执行.这意味着,他们不是在查询创建的时候执行,而是在遍历的时候执行(换句话说,当enumerator的MoveNext方法被调用时).让我们考虑下 ...
- Swift —构造函数与存储属性初始化-备
构造函数的主要作用是初始化实例,其中包括:初始化存储属性和其它的初始化.在Rectangle类或结构体中,如果在构造函数中初始化存储属性width和height后,那么在定义他们时就不需要初始化了. ...
- Fireworks Extension —— 开发篇(Dom模型)
如上一篇博文所叙述的,一个很偶然的机会,我得知可以使用Javascript开发Fireworks插件,又注意到了视觉小伙伴的需求,于是便上手开发Fireworks Extension了. 很幸运的,在 ...
- Android 自定义View 画圆 画线
自定义一个DrawCircle继承View 实现构造方法: public DrawCircle(Context context) { super(context); this.mContext = c ...