Ajax 使用XMLHttpRequest对象发送数据和接收处理XML源代码
2009-06-08 14:32
1196 查看
客户端HTML代码(ajax.html):
客户端JS代码(verityown.js):
服务器端代码(AjaxXmlServer.java):
服务器端配置文件(web.xml):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <script type="text/javascript" src="jslib/verityown.js"></script> </head> <body> 用户名校验ajax实例,请输入用户名:<br/> <input type="text" id="userName" /> <input type="button" value="校验" onclick="verity()" /> <div id="result"></div> </body>
客户端JS代码(verityown.js):
var xmlhttp; function verity() { var userName = document.getElementById("userName").value; if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); if (xmlhttp.overrideMimeType) { xmlhttp.overrideMimeType("text/xml"); } } else if (window.ActiveXObject) { var activexName = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]; for (var i = 0; i < activexName.length; i++) { try { xmlhttp = new ActiveXObject(activexName[i]); break; } catch (e) { } } } xmlhttp.onreadystatechange = callback; xmlhttp.open("POST", "AjaxXmlServer", true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlhttp.send("name=" + userName); } function callback(data) { if (xmlhttp.readyState == 4) { if (xmlhttp.status == 200) { var domObj = xmlhttp.responseXML; if (domObj) { var messageNodes = domObj.getElementsByTagName("message"); if (messageNodes.length > 0) { var messageNode = messageNodes[0].firstChild; var responseMessgae = messageNode.nodeValue; document.getElementById("result").innerHTML = responseMessgae; } else { alert("Error"); } } else { alert("Error"); } } } }
服务器端代码(AjaxXmlServer.java):
import com.sun.deploy.net.HttpRequest; import com.sun.deploy.net.HttpResponse; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletException; import java.io.IOException; import java.io.PrintWriter; import java.net.URLDecoder; public class AjaxXmlServer extends HttpServlet { protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException { try { httpServletResponse.setContentType("text/xml;charset=utf-8"); PrintWriter out = httpServletResponse.getWriter(); String old = httpServletRequest.getParameter("name"); StringBuilder builder = new StringBuilder(); builder.append("<message>"); if (old == null || old.length() == 0) { builder.append("用户名不能为空"); } else { String name = old; if (name.equals("alan")) { builder.append("用户名[" + name + "] 已经存在, 请使用其它用户名"); } else { builder.append("用户名[" + name + "] 尚未存在, 可以使用该用户名"); } builder.append("</message>"); } out.println(builder.toString()); } catch (Exception e) { e.printStackTrace(); } } protected void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException { doGet(httpServletRequest, httpServletResponse); } }
服务器端配置文件(web.xml):
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <servlet> <servlet-name>AjaxXmlServer</servlet-name> <servlet-class>AjaxXmlServer</servlet-class> </servlet> <servlet-mapping> <servlet-name>AjaxXmlServer</servlet-name> <url-pattern>/AjaxXmlServer</url-pattern> </servlet-mapping> </web-app>
相关文章推荐
- Ajax核心XMLHttpRequest对象、(发送请求、接收)方法和属性介绍、AJAX开发框架、数据格式提要(XML、JSON、HTML)
- Ajax核心XMLHttpRequest对象、(发送请求、接收)方法和属性介绍、AJAX开发框架、数据格式提要(XML、JSON、HTML)
- Ajax核心XMLHttpRequest对象、(发送请求、接收)方法和属性介绍、AJAX开发框架、数据格式提要(XML、JSON、HTML)
- Ajax核心XMLHttpRequest对象、(发送请求、接收)方法和属性介绍、AJAX开发框架、数据格式提要(XML、JSON、HTML)
- jQuery的ajax()检验用户名;通过jQuery的load()/get()/post()方法实现;使用XMLHTTPRequest对象来进行AJAX的异步数据交互
- Firefox3中使用XMLHttpRequest(Ajax)发送二进制POST数据的简易调试法
- AJAX中同时发送多个请求XMLHttpRequest对象处理方法
- Ajax - 使用XMLHttpRequest对象向服务器发送简单请求
- AJAX-----06XMLHttpRequest对象的处理返回的XML类型数据
- AJAX-----07XMLHttpRequest对象的处理返回的JSON类型数据
- AJAX中同时发送多个请求XMLHttpRequest对象处理方法
- AJAX中同时发送多个请求XMLHttpRequest对象处理方法
- AJAX中同时发送多个请求XMLHttpRequest对象处理方法
- AJAX中同时发送多个请求XMLHttpRequest对象处理方法
- AJAX中同时发送多个请求XMLHttpRequest对象处理方法
- Ajax处理XML,XMLHttpRequest对象的创建和访问servlet并返回xml数据到页面展示
- AJAX中同时发送多个请求XMLHttpRequest对象处理方法
- 10XMLHttpRequest对象的创建,及发送和接收数据
- 使用xmlhttprequest对象来进行AJAX的异步数据交互
- 使用xmlHttprequest 发送异步请求(Ajax核心对象)