我是阿贾克斯新鲜的
阿贾克斯
function ajaxFunction() { if(xmlhttp) { var txtname = document.getElementById("txtname"); xmlhttp.open("POST","Namelist",true); xmlhttp.onreadystatechange = handleServerResponse; xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xmlhttp.send("txtname=" + txtname.value); } } function handleServerResponse() { if (xmlhttp.readyState == 4) { if(xmlhttp.status == 200) { document.getElementById("message").innerHTML=xmlhttp.responseText; } else { alert("Error during AJAX call. Please try again"); } } }
JSP
<form name="fname" action="Namellist" method="post"> Select Category : <select name="txtname" id="txtname"> <option value="Hindu">Hindu</option> <option value="Muslim">Muslim</option> <option value="Christian">Christian</option> </select> <input type="button" value="Show" id="sh" onclick="ajaxFunction();"> <div id="message">here i want to display name</div><div id="message1">here i want to display meaning</div> </form>
的servlet
String ct=null; ct=request.getParameter("txtname"); Connection con=null; ResultSet rs=null; Statement st=null; try{ con=Dbconnection.getConnection(); PreparedStatement ps=con.prepareStatement("select name meaning from (select * from namelist order by dbms_random.value)where rownum<=20 and category='+ct+'" ); rs=ps.executeQuery(); out.println("name" + rs); **Here I have confusion,** } catch(Exception e) { System.out.println(e); }
解决方法
您必须进行以下更改: –
在Servlet中: –
将响应内容类型设置为: – response.setContentType(“text / xml”);在servlet的顶部.通过设置它,我们可以以XML格式发送响应,并在JSP上检索它时,我们将根据XML的标记名称获取它.
在Servlet中: –
将响应内容类型设置为: – response.setContentType(“text / xml”);在servlet的顶部.通过设置它,我们可以以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);
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-urlencoded'); 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); } }
在这里你完成了.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。