JavaScriptajax请求servlet调用错误回调函数

JavaScript ajax request to servlet call error callback function

本文关键字:回调 函数 错误 调用 请求 servlet JavaScriptajax      更新时间:2023-09-26

我有以下代码片段:

$(d).ready(function() {
    $.ajax({
        url : "http://localhost:8080/ProjTest/TestServlet",
        type : "POST",
        dataType : "text",
        data : { test : "test" },
        error : function() {
            alert(1);
        },
        success : function(data) {
            alert(2);
        }
    });
});

在我的servlet中:

protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    Printer out = res.getWriter();
    String paramTest = req.getParameter("test");
    System.out.println("1");
    out.print(paramTest);
    out.close();
    System.out.println("2");
}

当我运行时,在控制台中:

1
2

但是,在javascript调用错误函数!!!

知道吗???


已解决:

我将servlet更改为

protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    res.setHeader("Access-Control-Allow-Origin", "*");
    Printer out = res.getWriter();
    String paramTest = req.getParameter("test");
    System.out.println("1");
    out.print(paramTest);
    out.close();
    System.out.println("2");
}

我加了一行:

res.setHeader("Access Control Allow Origin","*")

data:的{}后面没有逗号

dataType : "text",
data : { test : "test" } 
// No comma here --------^
error : function() {

应该是这样的:

dataType : "text",
data : { test : "test" },  // <--- can you see the comma :-D
error : function() {