【发布时间】:2015-05-19 14:15:05
【问题描述】:
我无法显示我的 XML response 文件,我正在使用 servlet 和 AJAX。当我点击提交按钮时,它没有显示我想要的内容。
这些是我的文件:
index.jsp
<form action="AjaxServlet" method="post">
Nombre:
<input type="text" name="nombre" id="nombre"/>
<button type="submit" id="enviar" onclick="doCompletion();">
Enviar a Servlet
</button>
</form>
<br>
<div id="objetivo">
</div>
这是我的:ajax.js
var req;
var isIE;
function doCompletion() {
//var url = "autocomplete?action=complete&id=";
var nom = document.getElementById("nombre");
var url = "AjaxServlet?nombre=" + escape(nom.value);
req = initRequest();
req.open("GET", url, true);
req.onreadystatechange = callback;
req.send(null);
}
function initRequest(){
if (window.XMLHttpRequest) {
if (navigator.userAgent.indexOf('MSIE') !== -1) {
isIE = true;
}
return new XMLHttpRequest();
} else if (window.ActiveXObject) {
isIE = true;
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
function callback() {
if (req.readyState === 4) {
if (req.status === 200) {
myFuncion(req.responseXML);
}
}
}
function myFuncion(responseXML) {
if (responseXML === null) {
return false;
} else {
var personas = responseXML.getElementsByTagName("personas")[0];
var objetivo = document.getElementById("objetivo");
var p = document.createElement("p");
for(count = 0; count < personas.childNodes.length; count++) {
var persona = personas.childNodes[count];
//var persona = personas.getElementsByTagName("persona")[0];
p.appendChild(persona.childNodes[0].nodeValue);
}
objetivo.appendChild(p);
}
}
这是我的 Servlet
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
String nombre = request.getParameter("nombre");
Date date = new Date();
DateFormat hourFormat = new SimpleDateFormat("HH:mm:ss");
StringBuilder sb = new StringBuilder("");
sb.append("<personas>");
sb.append("<persona>");
//sb.append(nombre).append(", son las: ").append(hourFormat.format(date));
sb.append("Hola");
sb.append("</persona>");
sb.append("</personas>");
response.getWriter().write(sb.toString());
}
这就是屏幕上显示的内容,我不知道为什么:
【问题讨论】:
-
你希望它显示什么?
-
索引文件标签
<p>上的文字Hola。
标签: java javascript ajax servlets