开发者学堂课程【Ajax:什么是JDBC】学习笔记,与课程紧密联系,让用户快速学习知识。
打包ajax生成小工具
创建request对象的方法如下
如果函数就叫ajax,需要数据要知道请求方式,需要请求url也需要是否异步,也有可能存在请求体params或者是有回调方法,还有一种东西为服务器响应数据转换成什么类型,这些参数也可以打包,具体如下
option对象有如下属性
/*请求方式*. /method,
/*请求的ur1*/ url,
/*是否异步*/asyn,
/*请求体*/params,
/*回调方法*/callback
/*服务器响应数据转换成什么类型*/type
第一步要得到xmlHttp,具体方式如下
1.得到xmlHttp
*/var xm1Http = createXMLHttpRequest() ;
/*
第二步要打开链接,具体方式如下
* 2.打开连接 if(!option .method) [//€1iJGETR option.method == "GET"; ] if(option.asyn == undefined) (//1i9##kb I option.asyn = true; xmlHttp.open (option.method, option.url, option.asyn) ;] |
第三步要判断是否为posT,具体方式如下
3.判断是否カPOsT if("POST" == method) { xmlHttp .setRequestHeader ("content -Type", "application/x-www- fprm-urlencoded") ; |
第四步需要发送请求,具体方式如下
4.发送请求 xmlHttp. send (option.params) ; |
最后一步要注册监听(双重判断),其中要进行获取服务器的响应数据,进行转换,例如if(type == "xml") l
data xmlHttp. responseXML;
I else if(type = "text")
data xmlHttp. responseText;
] else if(type == "json")
data xmlHttp. re sponseTexti
执行是data E eval ("("+ text t ")") ;
最后要调用回调方法 callback(data),具体如下
xmlHttp. onreadystatechange = function() { if (xmlHttp. readyState == 4 && xmlHttp.status == 200) {//双重判断var data; //获取服务器的响应数据,进行转换! if(!option.type) {//如果type没有赋值, 那么默认为文本 data = xmlHttp. responseText; } else if(option.type == "xm1") { data = xmlHttp . responseXML; } else if (option.type == "text") { data = xmlHttp . responseText; } else if (option.type == "json") { var text = xmlHttp. re sponseText; data = eval("(" + text + ")"); //调用回调方法 option.callback (dEta); |
如果option对象要有如上属性,第二步就会有如下
if(loption.method) {//默认为GET请求
option.method == "GET";
1f (option.asyn == null) {//默认为异步 处理option.asyn = true;
kmlHttp method, ur1, asyn) ;这样就是在简化操作。
如果type没有赋值那么默认为文本。具体例子如下
* 5.注册监听 */ xmlHttp . onreadystatechange = function() ( if (xmlHttp. readyState == 4 && xmlHttp.status == 200) [/18XT FI]®Fvar data; //获取服务器的响应数据,进行转换! if(!type) {//如果type没有赋值, 那么默认为文本| data = xmlHttp. responseText; ] else if(type == "xml") f data = xmlHttp . responseXML; ] else if(type == "text") [ I data = xmlHttp. responseText; ] else if(type == "json") [ var text = xmlHttp. responseText; data = eval ("(" + text + ")") ; //调用回调方法callback (data) ; |
要把data显示到 <h3 id="h3"></h3>中,具体如下
<script type= "text/javascript" src="<c:url value= '/ajax-lib/ajaxutils.js'/> ">/script> <script type="text/javascript"> window.onload = function() { var btn = document . getElementById ("btn") ;btn.onclick = function() l /* 1. ajax ajax( I url:"<c:url value=' /AServlet'/>", type:"json", callback: function (data) { document getElementById("h3") . innerHTML = data.name + ", " + data.age + ", "+data.sex; } 最终的结果 
|