阿贾克斯& Java:从servlet到jsp的xml响应 [英] Ajax & Java : xml responce from servlet to jsp
问题描述
你好,亲爱的朋友,
我正在使用以下Ajax调用来检查数据库中是否有特定员工:
< input type ="text" id ="txtEmpCode" name ="txtEmpCode" onblur ="isEmpCodeExists(this);" />
我用于Ajax调用的Javascript函数如下:
Hello Dear Friends,
I am using following Ajax Call to check whether particular employee is available in database or not:
<input type="text" id="txtEmpCode" name="txtEmpCode" onblur="isEmpCodeExists(this);" />
And my Javascript functions for Ajax call are as follows:
function isEmpCodeExists(obj)
{
var val = obj.value;
if(val != "") {
hdnObj.value = val;
var url="MyServlet?value=" + encodeURIComponent(val);
if (typeof XMLHttpRequest != "undefined") {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("GET", url, true);
req.onreadystatechange = callbackIsTransCodeExists;
req.send(null);
}
}
function callbackIsTransCodeExists() {
var ind_ele = document.getElementById(ind);
ind_ele.style.display = "none";
if (req.readyState == 4) {
if (req.status == 200) {
parseMessageIsTransCodeExists();
}
} else {
ind_ele.style.display = "";
}
}
function parseMessageIsTransCodeExists() {
var message = req.responseXML.getElementsByTagName("message")[0];
var m = message.childNodes[0].nodeValue;
// ..........
}
现在遵循我的Servlet doGet()方法:
Now Following my Servlet doGet() method:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String transCode = request.getParameter("value");
.......
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write("<message>true</message>");
}
它可以很好地使用一个值为"true"或"false"的值.
现在,如果我使用
response.getWriter().write("<empcode>true</empcode>");
在servlet和
中
var message = req.responseXML.getElementsByTagName("empcode")[0];
在javascript中,我的消息"将获得null值.
当我通过as-
传递多个值时,也会发生这种情况
It works fine with one value ''true'' or ''false''.
Now if I uses
response.getWriter().write("<empcode>true</empcode>");
in servlet and
var message = req.responseXML.getElementsByTagName("empcode")[0];
in javascript my "message" will get null values.
It also happens when I pass multiple values as-
response.getWriter().write("<message><val1>val1</val1><val2>val2</val2></message>");
来自servlet.
因为我想使用Ajax调用从数据库传递多个记录,所以请给我解决方案吗?
请回复...:)
from servlet.
Can you please give me the solution for it as I want to pass multiple records from database using Ajax call?
Please kindly reply... :)
推荐答案
如果您正在Internet Explorer中进行测试,则说明存在缓存问题,例如,此处 [此处 [
If you''re testing in Internet Explorer, then there is a caching problem as described, for example, here[^] and here[^]. This may be what is causing your problem.
这篇关于阿贾克斯& Java:从servlet到jsp的xml响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!