配色: 字号:
CGB-AJAX-01
2018-01-07 | 阅:  转:  |  分享 
  


AJAX





1. Ajax概述 1-1

1.1. Ajax是什么 1-1

1.2. Ajax解决了什么问题 1-1

1.3. Ajax应用模型 1-2

2. Ajax编程实现 2-2

2.1. Ajax编程步骤 2-2

2.2. Ajax编程实现 2-3

2.2.1. 创建Ajax请求对象 2-3

2.2.2. 初始化Ajax请求 2-3

2.2.3. Ajax响应处理 2-4

2.3. Ajax编程增强 2-4

2.3.1. Ajax异步GET请求 2-4

2.3.2. Ajaxpost请求 2-5

3. JQuery中的Ajax应用 3-6

3.1. load函数应用 3-6

3.2. ajax函数应用 3-6

3.3. getJson函数应用 3-7

3.4. post函数应用 3-7

4. 总结 4-8

4.1. 重点和难点分析 4-8

4.2. 常见FAQ 4-8

Ajax概述

Ajax是什么

Ajax即AsynchronousJavascriptAndXML,是WEB应用程序开发的一种方法它使用客户端脚本与web整个页面还是刷新局部页面?)

用户体验问题加载速度快



Ajax异步Web应用模型:









Ajax编程实现

Ajax编程步骤



获取Ajax请求对象(由浏览器端的Ajax引擎提供到服务端监听:4,200)

局部刷新页面(通过服务端返回的数据







Ajax编程实现

创建Ajax请求对象



functiongetRequestObject(){

if(window.XMLHttpRequest){

//Opera,Safari,Mozilla,Chrome,InternetExplorer7,andIE8.

return(newXMLHttpRequest());

}elseif(window.ActiveXObject){

//VersionforInternetExplorer5.5and6

return(newActiveXObject("Microsoft.XMLHTTP"));

}else{

//Failsonolderandnonstandardbrowsers.

return(null);

}

}

初始化Ajax请求



functionsendRequest(){

varrequest=getRequestObject();

//Codetocallwhenserverresponds

request.onreadystatechange=

function(){handleResponse(request)};

//URLofserver-sideresource,trueissendrequestasynchronously

request.open("GET","message-data.html",true);

//alwaysnullforgetrequest

request.send(null);

}



Ajax响应处理



functionhandleResponse(request){

//4meansresponsefromserveriscomplete

if(request.readyState==4&&request.status==200){

//alert(request.responseText);

htmlInsert(resultRegion,request.responseText);

}

}



functionhtmlInsert(id,htmlData){

document.getElementById(id).innerHTML=htmlData;

}



Ajax编程增强



Ajax异步GET请求



functionshowTimeInCity(inputField,resultRegion){

varbaseAddress="show-time-in-city";

vardata="city="+getValue(inputField);

varaddress=baseAddress+"?"+data;

ajaxResult(address,resultRegion);

}



functionajaxResult(address,resultRegion){

varrequest=getRequestObject();

request.onreadystatechange=

function(){showResponseText(request,

resultRegion);};

request.open("GET",address,true);

request.send(null);

}



functiongetValue(id){

return(escape(document.getElementById(id).value));

}



functionshowResponseText(request,resultRegion){

if((request.readyState==4)&&

(request.status==200)){

htmlInsert(resultRegion,request.responseText);

}

}



Ajaxpost请求





functionshowTimeInCityPost(inputField,resultRegion){

varaddress="show-time-in-city";

vardata="city="+getValue(inputField);

ajaxResultPost(address,data,resultRegion);

}



functionajaxResultPost(address,data,resultRegion){

varrequest=getRequestObject();

request.onreadystatechange=

function(){showResponseText(request,

resultRegion);};

request.open("POST",address,true);

request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

request.send(data);

}



functionshowResponseText(request,resultRegion){

if((request.readyState==4)&&(request.status==200)){

htmlInsert(resultRegion,request.responseText);

}

}



JQuery中的Ajax应用

load函数应用

jquery中的load函数一般用于某个位置异步加载某个

页面

语法:load(url,[data],[callback])

其中:

url表示远程一个地址

data要传递数据key/value)

callback表示一个回调函数

例如$("#time-result-1").load("listUI.do");



例如:案例2

$("body").load("listUI.do",{color:red},function(){

…..

});





ajax函数应用

juqery中的ajax函数用于向服务端发起一个异步的ajax请求.





$.ajax({url:"address",

type:”GET”,

data:{param1:"foobar",param2:"baz“},

dataType:"json",

success:successHandlerFunction,

error:errorHandlerFunction,

cache:false,

})



Ajax函数应用案例



$(function(){

$("#data-button-2").click(processAjaxRequest);

});

functionprocessAjaxRequest(){

varparams={param1:$("#field3").val(),param2:$("#field4").val()};

$.ajax({url:"doFindPageObjects.do",

data:params,

success:function(result){

……..

});

}



getJson函数应用

Jquery中的getJSON函数用于向服务端发起GET请求

获取json格式的数据

$.getJSON("url",[data],[callback])

例如:

$.getJSON(“doFindPageObjects.do”,{pageCurrent:1},function(result){

//处理返回结果})

post函数应用

POST方法为中的发送Ajaxpost请求的一种方法

语法:post(url,[data],[callback])

例如:

$.post("doFindPageObjects.do",{pageCurrent:1},function(result){

…..

})





总结

重点和难点分析



常见FAQ

























1-2









献花(0)
+1
(本文系金银宝100首藏)