我可以't让servlet使用ajax和xml将参数发送到jsp文件

I can't get my servlet to send parameters to my jsp file using ajax and xml

本文关键字:参数 xml 文件 jsp ajax 使用 servlet 我可以      更新时间:2024-04-24

这是我的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){
       }   
     });