我正在尝试从servlet页面获取响应并在成功时显示警报。但它总是向我显示错误。我无法弄清楚。

我的ajax代码:

$(document).ready(function() {
$("#srch").click(function() {
 var txt1 = $("#store-qsearch").val();
 alert(txt1)
 $.ajax({
            url : 'http://localhost:8080/searchengine/SearchDataServlet',
            data : 'val='+txt1,
            type : 'GET',
            success : function(response) {
                alert("Success");
                // create an empty div in your page with some id
            },
            error: function(){ alert("error");

            }
        });
});
                       });


我的servlet代码:

public class SerachDataServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    String searchkey = request.getParameter("val").toString();
    SearchInput searchinput = new SearchInput();
    searchinput.searchkeys = searchkey;

    System.out.println(searchkey);
    SearchParser searchparser = new SearchParser();
    searchparser.searchData(searchkey);


    PrintWriter output = response.getWriter();
    output.println("successs");


}

}

最佳答案

将此行data : 'val='+txt1,更改为data: { val: txt1},

参见example

09-05 14:19