2016-04-05 8 views
0

サーブレットにajaxリクエストを送信するjqueryスクリプトがあります。正常にサーブレットにテキストデータを投稿しますが、成功関数の代わりにエラー関数を呼び出します(サーブレットはajax nullに戻ってサーブレットを返します)文字列)。なぜajaxメソッドがエラー関数を呼び出すのですか?

なぜajaxメソッドがエラー関数を呼び出すのですか?

はここでここでサーブレット

public class LoginServlet extends HttpServlet { 

@Override 
public void service(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 

    PrintWriter out = response.getWriter(); 
    String login = request.getParameter("login"); 
    String password = request.getParameter("password"); 
    SocketConnection.output.println("log_in " + login + " " + password); 
    out.print(SocketConnection.input.readLine()); 
    out.close(); 
     } 

    } 

textStatus値がerrorでのコードだスクリプト

$(document).ready(function() { 
     $("#login-button").click(function() { 
      var userPassword = $("input#userPassword").val(); 
      var userLogin = $("input#userLogin").val(); 
      $.ajax({ 
       type: "POST", 
       url: "http://localhost:8181/library/login", 
       data: {login: userLogin, password: userPassword}, 
       dataType: "text", 
       success: function (data) { 
        if (data == "1") { 
         document.location.href = "http://localhost:8181/library/workshop.html"; 
        } 
        if (data == "2") { 
         document.location.href = "http://localhost:8181/library/library.html"; 
        } 
       }, 
       error: function (jqXHR, textStatus, errorThrown) { 
        alert("Error report\n" + "jqXHR = " + jqXHR + "\n" + "textStatus = " + textStatus + "\n" + 
          "errorThrown = " + errorThrown); 
       } 
      }); 
     }); 
    }); 

のコードだ、errorThrown値は、エラーレポートで、無効です。

+0

'SocketConnection.output'は、データベースに接続するアプリケーションとの接続の内部ロジックを保存します。 –

+0

データ型(テキスト)が正しいことを確認してください - "text":プレーンテキスト文字列です。サーバから来るものが実際には文字列であることを証明するのに役立ちます – Tasos

+0

'SocketConnection.input.readLine()'は 'string'を返し、' ajax'のデータ型として 'xml'、' json'、スクリプト '、' html'と 'text'です。私は、 'java'は' text'による 'String'か、それとも正しいのでしょうか? –

答えて

0

それは、ステータス200 あなたの関数は、テキストを送信していない可能性があります

dataType: "text", 

を設定し、次のものが含まを返している場合。この設定を削除しようとしたらうまく動作することを望みます。

関連する問題