您必须进行以下更改:-在Servlet中:-在Servlet的
response.setContentType("text/xml");顶部将响应内容类型设置为:-
。通过设置此项,我们可以以XML格式发送响应,并在JSP上检索它时,我们将基于XML的标记名来获取它。
在Servlet中执行任何您想执行的 *** 作…将值保存为
String uname="; uname="hello"; //some operation //create one XML string String sendThis="<?xml version='1.0'?>" +"<Maintag>" +"<Subtag>" +"<unameval>"+uname+"</unameval>" +"</Subtag>" +"</Maintag>" out.print(sendThis);
现在,我们将转到显示数据的JSP页面。
function getXMLObject() //XML OBJECT { var xmlHttp = false; try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP") // For Old Microsoft Browsers } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP") // For Microsoft IE 6.0+ } catch (e2) { xmlHttp = false // No Browser accepts the XMLHTTP Object then false } } if (!xmlHttp && typeof XMLHttpRequest != 'undefined') { xmlHttp = new XMLHttpRequest(); //For Mozilla, Opera Browsers } return xmlHttp; // Mandatory Statement returning the ajax object created } var xmlhttp = new getXMLObject(); //xmlhttp holds the ajax object function ajaxFunction() { if(xmlhttp) { xmlhttp.open("GET","NameList",true); //NameList will be the servlet name xmlhttp.onreadystatechange = handleServerResponse; xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlenpred'); xmlhttp.send(null); } } function handleServerResponse() { if (xmlhttp.readyState == 4) { if(xmlhttp.status == 200) { getVal(); } else { alert("Error during AJAX call. Please try again"); } } } function getVal() { var xmlResp=xmlhttp.responseText; try{ if(xmlResp.search("Maintag")>0 ) { var x=xmlhttp.responseXML.documentElement.getElementsByTagName("Subtag"); var xx=x[0].getElementsByTagName("unameval"); var recievedUname=xx[0].firstChild.nodevalue; document.getElementById("message").innerText=recievedUname;//here } }catch(err2){ alert("Error in getting data"+err2); } }
至此您完成了。:)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)