У меня нет большого опыта работы с сервлетами, и я ходил кругами в поисках ответа на мою проблему. Настало время получить ответы экспертов! :)
Обзор: Мне нужно, чтобы Javascript вызывал мой сервлет и возвращал данные для обновления значения в форме.
У меня есть Java-сервлет, работающий в Glassfish V2.1, который называется DBGet, цель которого - вернуть строку данных из базы данных mysql. У меня нет проблем с кодированием этой части.
Когда я пытаюсь получить javascript для доступа к сервлету DBGet, я получаю объект ответа XML, который я действительно не знаю, как анализировать, чтобы получить данные. Я даже не уверен, что это лучший метод для использования. Так что я открыт для других решений.
Я нашел этот код в сети. и изменил его, чтобы работать с тем, что у меня есть.
function ajaxLoad(logid) {
var servlet = "DBGet"; //the name (URI) of the sevlet
var arg = "logid=" + logid; //attributes
var req = servlet + "?" + arg; //compiling the request
addrequest(req); //calls the addrequest function
request.onreadystatechange = function(){ //this is used to listen for changes in the request's status
if(this.readyState == 2) {
//not sure what to do here.....
}
}
alert(request.toString()); //for testing
}
функция addrequest (req) {
try { //create a request for netscape, mozilla, opera, etc.
request = new XMLHttpRequest();
}catch (e) {
try { //create a request for internet explorer
request = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e) { //do some error-handling
alert("XMLHttpRequest error: " + e);
} }
request.open("GET", req, true); //prepare the request
request.send(null); //send it
return request;}