servlet数据怎么返回html,在Servlet中返回xml格式的数据,⽤
jQuery。。。
在Servlet中返回xml格式的数据,⽤jQuery的html⽅法取值,alert出来的是'undefined', 请问这是什么原因, 谢谢
本帖最后由 showbo 于 2013-09-29 10:01:02 编辑
后台代码:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Validation extends HttpServlet {
private static final long serialVersionUID = 5873405129982361860L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// 获取参数前, 需要设置编码
request.setCharacterEncoding("utf-8");
// 设置返回的格式为xml
/
/ response.setContentType("text/xml;charset=utf-8");
// 设置禁⽌缓存
response.setHeader("Cache-Control", "no-cache, must-revalidate");
// 验证⽤户名是否已经存在
validate(request, response);
}
private void validate(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// 设置返回的格式为xml
response.setContentType("text/xml;charset=utf-8");
PrintWriter out = Writer();
String message = "";
String username = Parameter("username");
if("aaa".equals(username) || "bbb".equalsIgnoreCase(username)) {
System.out.println("已经存在");
message = "⽤户名" + username + "已存在!";
} else {
message = "恭喜, ⽤户名" + username + "可以注册!";
}
out.println(message);
}
}
============================== 郁闷的分隔线 ========================================= jsp代码:
html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd">
处理返回值为xml格式
// ajax引擎
var xmlHttpRequest;
// 创建ajax引擎
function getXMLHttpRequest() {
// 不同浏览器获取XMLHttpRequest对象⽅法不同
if(window.ActiveXObject) {
// IE
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else if(window.XMLHttpRequest) {
// ⽕狐, google等⾮IE
xmlHttpRequest = new XMLHttpRequest();
}
}
// 检查⽤户名是否已经存在(提交数据到后台)
function checkName() {
// 获得ajax引擎
getXMLHttpRequest();
// 判断ajax引擎是否创建成功
if(xmlHttpRequest) {
/
/ 引擎创建成功, 执⾏下⾯代码
// 通过该引擎对象发送请求到服务器的某个页⾯
// post提交⽅式
var username = "username=" + $("#username").val();
var url = "${contextPath}/servlet/validation";
xmlHttpRequest.open("post", url, true);
xmlHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // 指定回调⽅法, 处理返回值
// 状态改变了四次
// 真正发送请求
xmlHttpRequest.send(username);
}
}
// 回调⽅法, 处理返回值
function deal() {
// 我们只关⼼完成的那个状态
if(4 == adyState) {
if(200 == xmlHttpRequest.status) {
alert怎么读// 到message标签(节点), 然后取出第⼀个节点元素
// 把DOM对象转换成jQuery对象
var message = $(ElementsByTagName("message")[0]); // ⽤html获取, 提⽰undefined
// var result = message.html();
var result = ();
$("#result").html(result);
}
}
}
// 页⾯装载完成后运⾏
$(function() {
$("#validate").click(function() {
checkName();
});
});
⽤户名:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论