Ext.Ajax.request提交XML数据示例

服务器端:loginServerXml.jsp
在lib下要有dom4j-1.6.jar ,dom4j是一个非常优秀的Java XML API,具有性能优异、功能强大和极端易用的特点)


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="org.dom4j.*" %>
<%@ page import="org.dom4j.io.*" %>
<%
SAXReader sax=new SAXReader();
Document dom=sax.read(request.getInputStream());
Element root=dom.getRootElement();

String userName=root.element("userName").getStringValue();
String password=root.element("password").getStringValue();
String msg="";
if(userName.equals("11")&&password.equals("11")){
     msg="登陆成功xml方式";
}else{
     msg="登陆失败xml方式";
}
response.getWriter().write(msg);
%>

客户端:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>Ext.Ajax.request提交XML数据示例</title>
   
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">   
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link rel="stylesheet" type="text/css" href="resources/css/ext-all.css">
<script type="text/javascript" src="ext-all.js" ></script>
    <script type="text/javascript" src="locale/ext-lang-zh_CN.js"></script>

  </head>
 
  <body>
    <form  id="xmlloginForm">
    用户名:<input name="username" type="text">
  密码:<input type="password" name="password" >
<input type="button" value="登录" onclick="xmllogin()">
  </form>
<script type="text/javascript">
  function xmllogin(){
        var requestConfig={
                   url:'extajax/loginServerXml.jsp',//请求的服务器地址
                  xmlData:getXml( ), //发送xml文档对象
                   callback:function(options,success,response){
                        var msg=["请求是否成功:",success,"\n","服务器返回值:",response.responseText];
                        alert(msg.join(''));
                       }
       
                }
        Ext.Ajax.request(requestConfig); //发送请求
  }
function getXml(){
         var name=document.forms[0].username.value; //获取表单中的用户名信息
         var pwd=document.forms[0].password.value;  //获取表单中的密码信息
         var dom=new ActiveXObject("msxml2.DOMDocument"); //创建Dom对象
         var header=dom.createProcessingInstruction("xml","version='1.0'"); //创建xml文件头
         dom.appendChild(header); 
         var root=dom.createElement("loginInfo");//创建根节点loginInfo
        
         var userName=dom.createElement("userName");
         userName.text=name;       //为节点赋值
         var password=dom.createElement("password");
         password.text=pwd;          //为节点赋值
         root.appendChild(userName); //将userName添加到根节点中
         root.appendChild(password);//将password添加到根节点中
         dom.appendChild(root); //将根节点添加到root
         return dom;
  }
</script>
  </body>
</html>

Ext.Ajax.request提交XML数据
XML文档作为信息的载体在Ajax应用中占据着极其重要的地位,将客户端信息封装为XML文档与服务器进行交互是极其常见的Ajax操作。

以上代码演示了创建XML数据并通过Ext.Ajax.request方法提交到后台服务器的方法。其中
xmlData:getXml( )配置指明了要提交的XML数据

你可能感兴趣的:(Ext.Ajax.request提交XML数据示例)