0

次のコードスニペットがあります。

$(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);
        }
    });
});

そして私のサーブレットでは:

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ではエラー関数を呼び出します!!!

何か案が ???


解決済み:

サーブレットをに変更しました

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"、 "*");

4

1 に答える 1

4

{}forの後にコンマはありませんdata

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

次のようになります。

dataType : "text",
data : { test : "test" },  // <--- can you see the comma :-D
error : function() {
于 2012-08-22T13:49:10.483 に答える