[英]I can't get my servlet to send parameters to my jsp file using ajax and xml
這是我的servlet代碼,沒有任何錯誤,看起來還不錯:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns={"/AjaxServlet"})
public class AjaxServlet extends HttpServlet {
public AjaxServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throwsm ServletException, IOException {}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/xml");
response.getWriter().println("<xmlResponse>" +request.getParameter("name")+ "</xmlResponse>");
}
}
這是我的jsp頁面上的javascript,此函數是從我的jsp頁面上的“ onChange”事件調用的:
<script>
function callAjaxServlet(){
var xmlhttp;
var opt = $("#populateGraveYardList option:selected").text();
if (window.XMLHttpRequest) {
xmlhttp= new XMLHttpRequest();
}else if(window.ActiveXObject) {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
sendMessage;
function sendMessage(){
xmlhttp.open("POST", "AjaxServlet?name=" + opt ,true);
xmlhttp.send();
xmlhttp.onreadystatechange = receiveMessage;
}
function receiveMessage(){
if(xmlhttp.readyState ===4 && xmlhttp.status===200){
var opt1 = xmlhttp.responseXML.getElementByTagName("xmlResponse")[0].text;
$("#gName").val(opt1);
}
}
}
</script>
servlet可以很好地接收參數,但不能將其發送回我的jsp頁面...請問我在做什么錯? 提前致謝。 (順便說一句,這對Ajax來說是新手,只是想弄清楚!)opt1一直處於未定義狀態。
您是否考慮過在jQuery中使用Ajax功能?
$.ajax({
url: "jsp file here",
type: "post",
data: {"your name/value pairs here")
success: function(response){
},
error:function(xhr, ajaxOptions, thrownError){
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.