簡體   English   中英

對Servlet的Ajax請求調用未返回任何內容

[英]Ajax request call to the servlet doesn't return anything

這是我的jQuery函數。 它應該傳遞給servlet兩個值並獲取更新值。 我檢查了值是否正確使用以及兩個變量是否正確填充。 不幸的是我一無所獲。

 $("#passengers").change(function(event){

    var passengers = $("#passengers").val();
    var price = $("#price").text();

        $.getJSON('pricer', {passengers: passengers, price: price}, function(data){

            $("#price").html(data);

        });

});

這是servlet

        */
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
{
    String passengers = request.getParameter("passengers");
    String price = request.getParameter("price");

    String price_update = new Gson().toJson(this.pricerBean.calculatePrice(Integer.parseInt(passengers), Float.parseFloat(price)));

    response.setContentType("application/json");
    response.setCharacterEncoding("UTF-8");
    response.getWriter().write(price_update);   
}

主要問題是我沒有收到任何錯誤...甚至沒有... JavaScript控制台錯誤為空,甚至servlet也沒有顯示任何錯誤

嘗試:

response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(new Gson().toJson(data)); //here data is what you want to send

首先嘗試這個簡單的方法:

response.getWriter()。write(“ Hello”);

在ajax中:

    $.get('pricer', {passengers: passengers, price: price}, function(data){

        console.log(data);

    });

然后嘗試運行並將其打印出來。

console.log()在瀏覽器控制台中打印數據。

使用jquery getJSON()代替get()

$.getJSON('pricer', {passengers: passengers, price: price}, function(data){
    $("#price").html(data.price_update);
});

或與get

$.get('pricer', {passengers: passengers, price: price}, function(data){
    // also validate data if it is  not blank
    var data = jQuery.parseJSON(data);
    $("#price").html(data.price_update);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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