ajax中responseText与responseXML区别

本文详细解释了AJAX中responseText与responseXML的区别,并通过Java代码实例展示了如何使用这两个属性获取用户信息。重点讨论了响应内容的处理方式及其在实际开发中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源:http://lou888.blog.hexun.com/46543491_d.html
评:


一、ajax中responseText与responseXML区别
1、"responseText”属性以字符串形式返回HTTP响应;“responseXML”属性以XML形式返回HTTP响应。
function getTel() {
var telText = document.getElementById("mantel");
telText.value = "";
if(xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
var message = xmlHttp.responseText;
telText.value = message;
}
}
}
2、“responseXML”属性返回了一份XML文档对象,可以使用W3C DOM节点树方法和属性对该XML文档对象进行检查和解析。
function getUserInfo() {
var peoplemobile=document.getElementById("_Peoplemobile");
if(xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
var xmlDoc = xmlHttp.responseXML.documentElement;
var xSel = xmlDoc.getElementsByTagName("select");//得到xml文档中,节点为select的对象

for (var i=0;i<xSel.length;i++){
var xValue = xSel[i].childNodes[0].firstChild.nodeValue;//得到select节点下的第一个节点
var xText = xSel[i].childNodes[1].firstChild.nodeValue; //得到select节点下的第二个节点
if(xValue=='peoplemobile'){
peoplemobile.value=xText;
}

}
}
}
}
二、java中的代码

/**
* ajax获得用户电话号码,返回文本
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws DataAccessException
* @throws IOException
* @throws ParseException
*/
public ActionForward toGetTelNumber(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws DataAccessException, IOException, ParseException {
String username = request.getParameter("person_id");
String tel = releasePlanService.getTelByName(username);
if (tel != null) {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print(tel);
return null;
} else {
tel = "";
response.setContentType("text/xml;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print(tel);
return null;
}

}
/**
* ajax获得用户信息,返回xml
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws DataAccessException
* @throws IOException
* @throws ParseException
*/
public ActionForward togetUserInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws DataAccessException, IOException, ParseException {
String userid = request.getParameter("userid");

response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
String xml_start = "<?xml version = \"1.0\" encoding = \"UTF-8\"?>";
xml_start += "<selects>";
String xml_end = "</selects>";
String xml = "";
String last_xml = "";
try {
UserInfoExtendBean userInfoExtendBean=userInfoService.select(userid);
String mobile=userInfoExtendBean.getMobile()!=null?userInfoExtendBean.getMobile():"无";
String tel=userInfoExtendBean.getTel()!=null?userInfoExtendBean.getTel():"无";
String mail=userInfoExtendBean.getEmail()!=null?userInfoExtendBean.getEmail():"无";
xml = xml + "<select><value>" + "peoplemobile"
+ "</value><text>" + mobile
+ "</text></select>"
+ "<select><value>" + "peopletel"
+ "</value><text>" + tel
+ "</text></select>"
+ "<select><value>" + "email"
+ "</value><text>" + mail
+ "</text></select>";;
last_xml = xml_start + xml + xml_end;

response.getWriter().print(last_xml);
} catch (Exception e) {
return mapping.findForward("error");
}
return null;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值