Ajax的学习——get和post请求
2016-09-24 15:58
495 查看
要点:
1、AJAX的简单介绍 2、传统网页请求响应模式和AJAX模式的对比 3、AJAX的优点和缺点 4、AJAX的基本使用
[b]AJAX的简单介绍[/b]
AJAX( Asynchronous JavaScript and XML)AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。本质上是一种浏览端的技术。
[b]传统网页请求响应模式和AJAX模式的对比[/b]
传统网页请求响应模式
AJAX请求模式
对比:在传统模式下,用户一旦向服务器发送了请求,则用户在界面不能进行其他操作,必须等服务器把数据处理完,返回给浏览器,才能进行其他的操作,非常影响用户体验。但是在AJAX的请求模式下,向服务器发送了请求,而用户可以继续留在当前页面进行操作,不影响用户的使用,体验比传统模式下有较大的提升。
[b]AJAX的优点和缺点[/b]
1、Ajax在本质上是一个浏览器端的技术
2、Ajax技术之主要目的在于局部交换客户端及服务器间之数据
3、Ajax主要依靠XMLHttpRequest 的特点,在于能够不用重新载入整个版面来更新资料,也就是所谓的Refresh without Reload(轻刷新)
4、与服务器之间的沟通,完全是透过Javascript 来实行
5、使用XMLHttpRequest 本身传送的数据量很小,所以反应会更快,也就让网络程式更像一个桌面应用程序
6、AJAX 就是运用Javascript 在后台去跟服务器请求资料,最后再由Javascript 或DOM 来呈现结果,因为所有动作都是由Javascript 代劳,所以省去了网页重载的麻烦,对于用户来说,体验会更加好。
[b]AJAX的基本使用[/b]
注意:
为XMLHttpRequest对象设置请求参数
1.GET方式
xhr.open(“GET”, “url?id=12&name=hello”, true);//使用异步传输
xhr.open(“GET”, “url?data”, false);//不使用异步传输
xhr.setRequestHeader(“If-Modified-Since”, “0”); //请求可以设置浏览器不使用缓存
2.POST方式:
xhr.open(“POST”, “url”, true);//使用异步传输
xhr.setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded”);//添加请求头
xhr.send(“id=1&num=123”);//POST方式
异步使用XMLHttpRequest对象时,必须使用:onreadystatechange事件. 在回调函数中检查readyState属性,看数据是否准备就绪(是否等于4)。 如果没有准备好,隔一段时间再次检查。因为数据没有下载完时,我们无法使用它的属性和方法。 如果已经准备好,就继续往下执行;
前台JS代码
//AJAX的Get请求 document.getElementById("GetDateTime").onclick = function() { var xhr; if(XMLHttpRequest) { xhr = new XMLHttpRequest(); } else { //旧版本IE的创建方法 xhr = new ActiveXObject("Microsoft.XMLHTTP"); } xhr.open("get", "GetDate.ashx?name=123", true); xhr.send(); xhr.onreadystatechange=function() { if(xhr.readyState == 4 && xhr.status == 200) { alert(xhr.responseText);//在GetDate.ashx中返回当前时间 } } } //AJAX的post请求 document.getElementById("PostQuery").onclick = function () { var xhr; if (XMLHttpRequest) { xhr = new XMLHttpRequest(); } else { //旧版本IE的创建方法 xhr = new ActiveXObject("Microsoft.XMLHTTP"); } xhr.open("post", "GetName.ashx", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send("name=tom&pwd=456465"); xhr.onreadystatechange = function () { if(xhr.readyState == 4 && xhr.status == 200) { alert(xhr.responseText);//在GetName.ashx中返回传过去的name } } } }
XMLHTTPRequest常用方法
异步对象常用属性
readyState属性指出了XMLHttpRequest对象在发送/接收数据过程中所处的几个状态。XMLHttpRequest对象会经历5种不同的状态。
0:未初始化。对象已经创建,但还未初始化,即还没调用open方法;
1:已打开。对象已经创建并初始化,但还未调用send方法;
2:已发送。已经调用send 方法,但该对象正在等待状态码和头的返回;
3:正在接收。已经接收了部分数据,但还不能使用该对象的属性和方法,因为状态和响应头不完整;
4:已加载。所有数据接收完毕
PS:博文中如有什么不对的地方恳请大家指出,谢谢~
相关文章推荐
- AJAX学习 自己动手写ajax登录验证及首页数据绑定(代码片段,主要是登录js,ajax的get和post请求)
- AJAX学习笔记之 客户端请求方式 get 和post 模式
- jq代码学习23-----ajax $.get 和$.post 请求 fl ch6 p192
- ajax 学习笔记之二 POST GET方式提交数据
- 转载:Ajax中get与post请求详解
- Ajax的Get和Post的请求用法
- ajax打开请求的两种方式(get,post)
- Ajax发关Get和Post请求的方法
- 防止ajax重复请求的方法(GET和POST)
- Ajax中Get请求与Post请求的区别
- Ajax请求参数,get与post
- ajax碰到请求url过长的问题! ajax中get和post的区别
- Ajax学习之Get与Post
- 原创:Ajax中get与post请求详解
- ajax碰到请求url过长的问题! ajax中get和post的区别
- Ajax的GET与POST方式向服务器发送请求
- Ajax中我们经常用到get和post请求.
- Ajax中get和post两种请求方式的用法
- AJAX 学习笔记(4) GET与POST
- learning jQuery 学习笔记十六(+jQuery 1.4.1 API)-- AJAX----$.get() & $.post()