day21_AJAX 同步和异步的区别:
同步:一步一步顺序执行.(用户需要等待,页面全部刷新)
异步:同时进行.(不需要等待,页面局部刷新)
功能:完成页面局部刷新(通过XML/JSON)
XMLHttpRequest:
readystate:0-4 4请求发送成功.
onreadystatechange:状态改变时触发
status:响应状态.200成功,404失败...
responseTest:获得响应文本
responseXML:获得响应的XML
open(请求方式,请求路径,是否异步):异步向服务器发送请求
在js文件中把路径写活可以采用在jsp<script></script>中使用
var contextPath=${pageContext.request.contextPath}的方式.
send(请求参数):发送请求,传递参数
setRequestHeader(头信息,头的值):处理post请求方式的中文问题
创建XMLHttpRequest对象:
IE:ActiveXObject
Firefox:XMLHttpRequest
$("#form1").serialize();只要表单中有name属性,就获取其值,转换成json形式.
比如:$.get("路径",$("#form1").serialize(),function(){});
$.get(),$.post()不能定制,定制应采用$.ajax(),参数type:post/get,url,data,dataType:xml/text等,success,complete等
$.ajax()相当重要.!!!一定要会.
$ajax({
url:"",
type:"POST",
data:{
"":"",
"":""
};
success:function(){}
error:function(){}
complete:function(){}
});
异步操作步骤:
1.定义触发事件
2.获得参数
3.确定是哪个访问方法.($.get(),$.post(),$.ajax())
4.完善function()内的业务
5.写访问的servlet代码.
function createXMLHttp(){
var xmlHttp;
try{//Firefox,Opera 8.0+,Safari
xmlHttp=new XMLHttpRequest();
}catch(e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
}
}
}
return xmlHttp;
}
XStream:
xStream.alias("Area",Area.class)
xStream.toXML(area);
响应xml后,ajax接收包装成$(data)对象.再对文档进行操作.
特别提醒:解析标签最好一层一层的解析...
|
|