是什么?
AJAX(Asynchronous Javascript And XML),是异步Javascript和XML,它用于创建快速动态网页。通过在后台与服务器进行少量数据交换,ajax可以是网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
为什么用?
对于传统的web应用来说,随着时代的发展暴露出很多问题,为了解决这些问题,出现了AJAX技术。
怎么用?
(一)如何实现异步更新? ——XMLHTTPRequest
XmlHttpRequest(简称XMR,可扩展超文本传输请求)。Xml可扩展标记语言,Http超文本传输协议,Request请求。XMLHttpRequest对象可以在不向服务器提交整个页面的情况下,实现局部更新网页。当页面全部加载完毕后,客户端通过该对象向服务器请求数据,服务器端接受数据并处理后,向客户端反馈数据。
XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步返回 Web 服务器的响应,并且能以文本或者一个 DOM 文档形式返回内容。尽管名为 XMLHttpRequest,它并不限于和 XML 文档一起使用:它可以接收任何形式的文本文档。XMLHttpRequest 对象是名为 AJAX 的 Web 应用程序架构的一项关键功能。 (来着百度百科)
(二)XMLHTTPRequest——属性方法
(三)问题->解决
(1)XMLHTTPRequest请求的缓存——解决方法:增加时间戳
@H_502_38@if(url.indexOf("?")>=0){
url=url+"&t="+(@H_502_38@new Date()).valueOf();
}@H_502_38@else{
url=url+"?t="+(@H_502_38@new Date()).valueOf();
}
(2)ajax中文乱码——解决方法
1.页面端:包含中文信息的请求数据利用JavaScript中的encodeURI进行两次编码处理
2.服务器端:获取到的请求数据使用URLDecode类的decode方法按照utf-8的方式进行decode
(3)ajax跨域访问——解决方法
1.页面端:
if(url.indexOf("http://")==0){
url=url.replace("?","&");
url="Proxy?url="+url;
}
2.服务器端:
get和post方式分开处理
- 获取原始的请求URL地址和参数
- get方式利用url和远程地址交互
- post方式利用url和urlConnection和远程地址交互,还要向远程发送请求参数信息
小结
不断总结,不断学习!