簡體   English   中英

我無法使用ajax和xml讓我的servlet將參數發送到我的jsp文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM