AJAX学习笔记02
学习课程:
学习内容 |
相关文件 |
通过XMLHttpRequest对象手动实现AJAX |
AjaxServlet.java
verifyOwn.js
verifyOwn.jsp |
通过XMLHttpRequest对象接受与处理XML数据 |
AjaxXml.java
verifyXml.js
verifyXml.jsp |
使用JQuery接受和处理XML数据 |
AjaxXml.java
verifyXml-jquery.js
verifyXml-jquery.jsp |
学习步骤:
说明:
Servlet文件 AjaxServlet.java对应的URL为servlet/AjaxServlet
Servlet文件 AjaxXml.java对应的URL为servlet/AjaxXml
特别提醒:JavaScript代码区分大小写 |
JSP页面的代码都一样,只不过在调用JS代码文件上有区别
- <scripttypescripttype="text/javascript" src="jslib/verifyOwn.js"></script>
- <input type="text" id="username" name="username"/>
- <input type="button" id="submit" value="提交" onclick="verify()"/>
- <div id="result"></div>
|
1.通过XMLHttpRequest对象手动实现AJAX
AjaxServlet.java文件中doPost方法的代码 |
- request.setCharacterEncoding( "utf-8" );
- response.setContentType("text/html;charset=utf-8");
- PrintWriter out = response.getWriter();
- String s = request.getParameter( "username" );
- out.print( "返回结果:" + s );
|
|
|
2.通过XMLHttpRequest对象接受与处理XML数据
AjaxXml.java中doPost方法的代码,让数据以XML的形式返回到客户端 |
- response.setContentType("text/xml;charset=utf-8");
- request.setCharacterEncoding( "utf-8" );
- PrintWriter out = response.getWriter();
- StringBuffer s = new StringBuffer();
- s.append( "<message>" );
- String param = request.getParameter( "username" );
- if ( (null == param) || "".equals(param.trim()) ){
- s.append( "获取数据为空" ).append( "</message>" );
- } else {
- s.append( param ).append( "</message>" );
- }
- out.println( s.toString() );
|
|
verifyXml.js文件中回调函数的主要代码,其他的代码与上面的一样
注:domObj.getElementsByTagName( "message" );此句代码是Elements不是Element
|
- var divNode = document.getElementById( "result" );
- var domObj = xmlhttp.responseXML;
- var messageNode = domObj.getElementsByTagName( "message" );
- if ( messageNode.length == 0 ){
- divNode.innerHTML = "获取数据错误。";
- } else {
- var result = messageNode[0].firstChild;
- var responseText = result.nodeValue;
- divNode.innerHTML = responseText;
- }
|
|
3.使用JQuery接受和处理XML数据
这个实例只需要修改js页面代码就可以了
在对这个实例进行调试的时候发现一个现象
这次居然支持中文了,是不是因为接受和处理的是XML数据呢? |
- function verify(){
- var jqueryObj = $("#username");
- var userName = jqueryObj.val();
- $.ajax( {
- type : "POST" ,
- url : "servlet/AjaxXml" ,
- data : "username=" + userName ,
- dataType : "xml" ,
-
- success : callback
- });
- }
- function callback( data ){
- var jqueryObj = $( data );
- var message = jqueryObj.children();
- var text = message.text();
- var resultObj = $("#result");
- resultObj.html( text );
- }
|
附件信息:
javascript中简单对象的定义方法
var obj = {};
为对象添加属性
var obj = { name:"123" , age:20 }; |