AJAX简介
1、AJAX工作原理:当一个事件发生时,浏览器会创建一个XMLHttpRequest对象,并发送一个HttpRequest给服务器,服务器接收到这个HttpRequest请求后就会进行处理,
处理完成后服务器会创建一个响应程序,并将响应结果返回给浏览器,浏览器接收到响应结果后通过使用JavaScript进行加工处理,最后浏览器更新网页内容。
2、AJAX联合使用的元素
XMLHttpRequest对象:异步的与服务器交换数据
JavaScript/DOM:用于信息显示/交互
CSS:给数据定义样式
XML:作为转换数据的格式
3、创建XMLHttpRequest
IE5、IE6:var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
其他浏览器:var xmlhttp = new XMLHttpRequest();
实例:
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();//现代浏览器IE7+、Firefox、Chrome、Safari 以及 Opera
}eles{
xmlhttp = new ActiveXObject("Microsoft.xmlhttp");//IE5、IE6
}
4、XMLHttpRequest对象的方法:open(),send()
xmlhttp.open(method,URL,async)
method:请求的类型;GET 或 POST
url:文件在服务器上的位置
async:true(异步)或 false(同步)
xmlhttp.send(String):将请求发送到服务器,String仅用于POST请求。
注:XMLHttpRequest 对象如果要用于 AJAX 的话,其 open() 方法的 async 参数必须设置为 true
5、POST和GET的区别
(1)POST一般是需要更新数据时才会用到,而GET一般是获取或查询数据的时候用。
(2)GET请求的数据会附在URL(如login.action?a=1&b=2)之后;POST把提交的数据则放置在是HTTP包的包体中。
(3)GET方式提交的数据最多只能是1024字节,POST提交数据没有大小限制
(4)在ASP中,服务端获取GET请求参数用Request.QueryString,获取POST请求参数用Request.Form。传一个test.jsp?name=hyddd&password=hyddd,用request.getQueryString()得到的是:name=hyddd&password=hyddd。
(5)POST的安全性要比GET的安全性高
(6)Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为"GET"。
6、Async
当使用 async=true 时,请规定在响应处于 onreadystatechange 事件中的就绪状态时执行的函数
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
您使用 async=false 时,请不要编写 onreadystatechange 函数 - 把代码放到 send() 语句后面即可
xmlhttp.open("GET","ajax_info.txt",false);
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
注:如果使用async=false,JavaScript会等到服务器响应就绪才继续执行,如果服务器繁忙货缓慢,引用程序就会挂起或停止
7、responseText、responseXML
如果来自服务器的响应并非 XML,请使用 responseText 属性,responseText 属性返回字符串形式的响应。
如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析。
实例:
xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++)
{
txt=txt + x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("myDiv").innerHTML=txt;
<CATALOG>
<CD>
<ARTIST>Bob Dylan</ARTIST>
</CD>
<CD>
<ARTIST>Bob Dylan</ARTIST>
</CD>
<CD>
<ARTIST>Bob Dylan</ARTIST>
</CD>
<CD>
<ARTIST>Bob Dylan</ARTIST>
</CD><CD>
<ARTIST>Bob Dylan</ARTIST>
</CD>
<CD>
<ARTIST>Bob Dylan</ARTIST>
</CD>
</CATALOG>
8、XMLHttpRequest对象的三个重要的属性
当请求被发送到服务器时,我们需要执行一些基于响应的任务,每当 readyState 改变时,就会触发 onreadystatechange 事件,readyState 属性存有 XMLHttpRequest 的状态信息。
onreadystatechange:存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState:存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。0: 请求未初始化;1: 服务器连接已建立;2: 请求已接收;3: 请求处理中;4: 请求已完成,且响应已就绪。
status:200: "OK";404: 未找到页面
实例:
当 readyState 等于 4 且状态为 200 时,表示响应已就绪
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
分享到:
相关推荐
Ajax简单整理-思维导图-附件资源
这种方式适用于简单的HTTP请求,特别是当Header信息固定不变或者变化不大时。 ##### 2. 使用`beforeSend`回调函数设置Header ```javascript $("#test").click(function () { $.ajax({ type: "GET", url: ...
总结一下,本例展示了如何在APEX中利用AJAX技术创建一个简单的交互式页面,用户可以在不刷新页面的情况下获取并显示员工姓名。通过这种方式,我们能够提高应用程序的响应速度和用户友好性,这对于提升用户满意度至关...
这些控件极大地丰富了开发者的工具箱,使得构建交互性更强、用户体验更佳的Web应用程序变得更加简单。 例如,AutoCompleteExtender控件能够自动为输入框提供补全建议。通过设置TargetControlID指定要关联的文本框,...
### 韩顺平AJAX和jQuery笔记整理 #### AJAX概览 - **定义**:Asynchronous JavaScript and XML(异步JavaScript与XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 - **运行原理**: - ...
虽然简单易实现,但频繁的请求可能会增加服务器负载,并且在数据变化不频繁时效率较低。 2. Comet(服务器推):通过保持持久的HTTP连接,服务器可以在数据准备好时立即发送给客户端,而不是等待客户端的下一次请求...
自已整理的资源:项目由Web网站转换为Web项目,然后将聊天室主界面的后台C#代码做了优化,精简了一下,最后写一下说明文档。数据库在CFJK.WebSite\chatRoom\App_data下。 本聊天室是使用...来实现的局部刷新,用它来...
简单整理的乱码处理方案,jquery的ajax解决UTF-8以及GBK的问题
然而,为了确保兼容性和更好的用户体验,开发者通常会利用jQuery、AngularJS、Vue.js等库或框架,它们提供了统一的接口和更高级的功能,如自动处理浏览器差异、更简单的错误处理和数据绑定等。 总之,Ajax通过...
JSONP适用于简单的数据交换,而PJAX更适合于构建用户体验优秀的单页应用(SPA)。随着现代浏览器对CORS(跨源资源共享)的支持,开发者现在有了更多安全且灵活的跨域解决方案,但JSONP和PJAX仍然是许多项目中的重要...
而DWR (Direct Web Remoting) 是一个开源的Java库,它使得AJAX在Web开发中的应用变得更加简单。DWR允许JavaScript直接调用服务器端的Java方法,实现前端与后端的双向通信,从而创建出实时的、动态的Web应用程序。 *...
综上所述,"4.dwr框架Ajax学习haozl整理(非常全的了更新到2013.8.17)"是一个包含关于DWR框架的详细资料集合,包括笔记、PPT、文档和示例,适合初学者和有经验的开发者深入学习和理解DWR的使用和原理。这些资源可以...
根据给定的信息,我们可以梳理出以下关于Ajax框架的...以上就是根据提供的信息整理出来的关于 Ajax 十大框架的知识点,每个框架都有其独特的特性和应用场景,开发者可以根据具体项目的需要来选择合适的工具和技术栈。
以下是一个简单的AJAX实例,用于验证用户名是否可用: **HTML代码(checkUsername.html)** ```html <!DOCTYPE HTML> 用户名校验 <script src="checkUsername.js"></script> 用户名:(event)"> 定位文本框,按...
<br>内容介绍: Ajax领域的新框架和组件库层出不穷,一些功能非常简单,一些则是过度的设计或者存在着严重的设计问题。Ajax开发者对于应该选择什么样的框架感到茫然无助,毫无疑问,Ajax in Action可以帮助你...
以下是一个简单的Ajax原生GET请求的例子: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'your_server_url', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr....
jQuery 提供了更简单的 AJAX API,如 `$.ajax()`, `$.get()`, `$.post()` 等,简化了原生 AJAX 的复杂性。 **HTML** **1. 结构元素** HTML(HyperText Markup Language)是网页的基础,定义了网页的结构。包括头部...
【描述】: "这份资料集合是关于个人学习AJAX的心得,虽然较为初级且未经过系统的整理,但包含了我学习过程中的笔记和实例,适合初学者入门。" 【标签】: "比较杂乱" 在这些文档和资源中,我们可以提取出以下几个...