Ajax基础
1:Ajax可以通过JavaScript的XMLHttpRequest对象与服务器进行通信,通过XMLHttpRequest,JavaScript可以在不重载页面的情况下与服务器进行通信。
2:XMLHttpRequest 浏览器支持
<script type="text/javascript">
function ajaxFunction()
{
var xmlHttp;
try
{
xmlHttp=new XMLHttpRequest();
//尝试Firefox浏览器
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
//尝试IE6.0
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
//尝试IE5.5
}
catch (e)
{
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
}
</script>
3: onreadystatechange 属性 指定服务器处理完请求后需要调用的回调函数
4:readyState存放服务器相应的状态,4代表请求已经完成
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
}
}
5:responseText 属性 存放服务器返回的数据
6:向服务器发送一个请求
open() 方法需要三个参数。第一个参数定义发送请求所使用的方法(GET 还是 POST)。第二个参数规定服务器端脚本的 URL。第三个参数规定应当对请求进行异步地处理。
send() 方法可将请求送往服务器。
相关文档:
jquery Ajax 传递汉字到 servlet 时出现乱码的问题
2009年11月25日 星期三 下午 02:28
jquery Ajax 传递汉字到 servlet 时出现乱码的问题
在js中对需要的传送的参数进行编码
encodeURI(encodeURI(param))
在服务器接受后对其进行解码
String param = URLDecoder.decode(request.getParameter("param"),"utf-8");
......
一.AjaxPro的使用
1.在项目中添加引用,浏览找到AjaxPro.2.dll文件
2.在Web.config中的system.web里面写入以下代码
</configuration>
<system.web>
<httpHandlers>
<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
</system.web> ......
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>index</title>
<meta http-equiv="pragma" content="no-cache"&g ......
Ajax的IE缓存问题,会造成用open时用get方法不能重复提交,导致获取不到实时的信息。解决的办法有以下几种:
1.客户端在url后添加随机数.
new Date().getTime()或者Math.Random()
或者送请求前加上
XMLHttpRequest.setRequestHeader("If-Modified-Since","0")
2.或者用post方法提交  ......
function Ajax(url)
{
var m_xmlReq=null;
if(window.ActiveXObject)
{
try
{
m_xmlReq = new ActiveXObject('Msxml2.XMLHTTP');
}
catch(e)
{
try{m_xmlReq = new ActiveXObject('Microsoft.XMLHTTP');}catch(e){}
}
}
else if(window.XMLHttpRequest ......