Ajax笔记(一)
Ajax三步骤:
Asynchronous Javascript And XML
1、运用HTML和CSS实现页面,表达信息;
2、运用XMLHttpRequest和web服务器进行数据的异步交换;
3、运用JavaScript操作DOM,实现动态局部刷新;
1.同步:就是用户填写完信息之后,全部提交给服务器,等待服务器的回应,是一次性全部的。
2.异步:当用户填写完一条信息之后,这条信息会自动向服务器提交,然后服务器响应客户端,在此过程中,用户依然在填写表格的信息,即向服务器请求多次,节省了用户的时间,提高了用户的体验。
3.XMLhttpRequest对象来实现这一功能,也需要javascript来操作DOM实现局部的信息更新。
XHR对象的创建
var request;
if(window.XMLHttpRequest){
request=new XMLHttpRequest();//IE7+,Firefox,Chrome,Ooera,Safari...
}else{
request=new ActiveXObject("Microsoft.XMLHTTP");//IE6,IE7
}
HTTP
1.HTTP是计算机通过网络进行通信的规则
2.HTTP是一种无状态的协议(不建立持久的连接,服务端不保留连接的相关信息,浏览器发出请求和服务器返回响应是一个没有记忆的过程)
3.一个完整的【HTTP请求】过程有7个步骤:
1>建立TCP连接
2>Web浏览器向Web服务器发送请求命令
3>Web浏览器发送请求头信息
4>Web服务器应答
5>Web服务器发送应答头信息
6>Web服务器向浏览器发送数据
7>Web服务器关闭TCP连接
http请求:
1.HTTP请求的方法或动作,post或get
2.正在请求的URL
3.请求头,包含一些客户端环境信息,身份验证信息等
4.请求体(请求正文),包含要发送的一些字符串信息,表单信息等等
//请求头和请求体之间有一个空行,表面请求头已经结束
GET:一般用于信息的获取,使用URL传递参数,对发送信息的数量也有限制,一般在2000字符!默认方式,一般用于查询、获取操作,不是很安全,任何人可见,信息都显示在URL中
POST:一般用于修改服务器上的资源,对所发送的数量无限制。一般用于发送表单数据,新建,修改,删除等操作,要安全一些,不在URL中显示,对其他人不显示。
【幂等】:一个操作任意多次执行所产生的影响均与一次执行的影响相同。GET请求就是一种幂等操作。
【HTTP响应】一般由3部分组成:
①一个数字或文字组成的状态码,用来显示请求是成功还是失败
②响应头,和请求头一样包含许多有用信息,如服务器类型、日期时间、内容类型和长度等
③响应体,即响应正文//响应头和响应体之间有空行
【HTTP状态码】
1XX:信息类,表示收到Web浏览器请求,正在进一步处理中
2XX:成功,表示用户请求被正确接收;200表示成功,responseText属性的内容已经就绪,而且在内容类型正确的情况下,responseXML也应该能够访问了
3XX:重定向,表示请求没有成功,客户必须采取进一步动作;304表示请求的资源没有被修改,可以直接使用浏览器中缓存的版本,响应是有效的
4XX:客户端错误,表示客户端提交的请求有错误,例如:404 NOT Found,意味着请求中所引用的文档不存在
5XX:服务器错误,表示服务器不能完成对请求的处理,如:500
XMLHttpRequest发送请求的方法
open(method,url,async)
send(sring)
method可以大写,也可以小写,表示请求的方式是get还是post
url绝对地址或者相对地址
async同步处理或者异步处理,true是异步,false是同步,默认是异步处理

POST请求必须对应一个setRequestHeader;但是GET请求不需要。
XHR取得响应
var request=new XMLHttpRequest();
request.open("GET","get.php",true);
request.send();
request.onreadystatechange=function()
{
if (request.readyState===4&&request.status===200) {
//dosomething request.responseText
}
}
Ajax笔记(一)的更多相关文章
- Jquery笔记和ajax笔记
Jquery笔记:jQuery是一个JavaScript函数库,专为事件处理设计 1.jQuery的引入 <script text="type/javascript" src ...
- 弄一个ajax笔记方便查询-$.ajax()
$.ajax()是所有ajax方法中最底层的方法,所有其他方法都是基于$.ajax()方法的封装.这个方法只有一个参数,传递一个各个功能键值对的对象. $.ajax()方法对象参数表: 参数 类型 说 ...
- 弄一个ajax笔记方便查询-基础知识篇
jQuery对Ajax做了大量的封装,jQuery采用了三层封装: 最底层的封装方法为:$.ajax() 通过最底层进一步封装了第二层的三种方法:.load().$.get().$.post() 最高 ...
- JS(ajax笔记)
简介:AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法,是与服务器交 ...
- AJAX笔记
浏览器脚本——AJAX AJAX = 异步的 JavaScript 和 XML(Asynchronous JavaScript and XML). 是一种新的技术,它可以创建更好.更快且交互性更强的 ...
- PHP和AJAX笔记汇总
AJAX简介AJAX = Asynchronous JavaScript And XML(异步 JavaScript 及 XML)AJAX 是 Asynchronous JavaScript And ...
- Ajax笔记 XHR XMLHttpRequest
XMLHttpRequest xhr XmlHttpRequest var request ; if(Windows.XMLHttpRequest) { request ...
- AJAX 笔记
一.什么是 AJAX ? AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 是一种用于创建快速动态网页的技术. 通过 ...
- 用javascript写原生ajax(笔记)
AJAX 的全名叫做 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并 ...
- AJAX笔记整理
AJAX: Asynchronous JavaScript and XML,异步的Javascirpt和Xml. Asynchronous:异步 与之对应的是 synchronous:同步,我们要知道 ...
随机推荐
- 多线程下使用Jedis
在不同的线程中使用相同的Jedis实例会发生奇怪的错误. 但是创建太多的实现也不好因为这意味着会建立很多sokcet连接,也会导致奇怪的错误发生. 单一Jedis实例不是线程安全的. 为了避免这些问题 ...
- 批处理BAT(一)
批处理 全盘根目录下查找文件夹并删除(1)@echo offfor %%a in (C D E F G H) DO (cd\if exist "%%a:\123\" rd /s / ...
- C++(十二)— vector中pair的排序方法
1.利用自定义的排序函数 通过传递一个函数 cmp给sort函数 , 注意: cmp中return a<b; 决定为从小到大的排序 return a>b; 决定为从大到小的排序 #inc ...
- 如何在windows上部署war包到tomcat服务器
一. 什么是war包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将很多文件组合成一个压缩文件.war专用在web方面,一个war包可以理解为一个web项 ...
- 《精通.NET企业项目开发》 - 书摘精要
(P7) 处于任何逻辑层面上的类,对于同一层面上的其他类应该是可重用的:对于在同等范围内其他所有需要该数据的类而言,提供数据的类应该是可以被调用的: (P9) 大多数企业系统都是用平台无关的技术构建的 ...
- spring学习-3
spring的自动装配 spring IOC容器可以自动装配bean,只需要在bean的autowire属性指定自动装配的模式. 模式: 1.byType:根据类型自动装配.根据bean的类型和当前b ...
- java入门学习(1)一简介及其基础特点
分类: java基础 1.为什么java如此流行,为什么历史选择了它? 因为它拥有全新的编程思想,更接近人们的语言习惯,由于其编译器把代码编译成字节码,然后再不同的平台上运行分别用不同的虚拟机去解释字 ...
- signal 信号具体含义解释~
) SIGHUP 本信号在用户终端连接(正常或非正常)结束时发出,通常是在终端的控 制进程结束时, 通知同一session内的各个作业,这时它们与控制终端不再关联. ) SIGINT 程序终止(int ...
- 解决Opencv高低版本不兼容问题
目前OpenCV版本已更新到2.4...由此出现了一系列问题,解决如下: 1.cxcore.h等头文件找不到: 法一.将opencv1.0中的各种.h或者.lib文件拷到opencv2.3.1对应in ...
- checking for event2/thread.h... no libevent_pthreads required, failing
/********************************************************************************** * checking for e ...