2016-04-28 9 views
-1

に接続できません!は、私は角度で、次のAJAX請願を持っているサーブレット

私はボタンからこの請願を送信し、それが次のサーブレットに行く:

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

     StringBuffer sb = new StringBuffer(); 

    try 
    { 
     BufferedReader reader = request.getReader(); 
     String line = null; 
     while ((line = reader.readLine()) != null) 
     { 
     sb.append(line); 
     } 
    } catch (Exception e) { e.printStackTrace(); } 

    JSONParser parser = new JSONParser(); 
    JSONObject joUser = null; 
    try 
    { 
     joUser = (JSONObject) parser.parse(sb.toString()); 
    } catch (ParseException e) { e.printStackTrace(); } 

    String user = (String) joUser.get("nombre"); 

    response.setContentType("text/html"); 
    PrintWriter out = response.getWriter(); 
    out.write("A new user " + user + " has been created."); 
    out.flush(); 
    out.close(); 
    } 

これは、以下の取得:コンソールで

enter image description here

、私はこのエラーを取得します:

enter image description here

私は間違って何をしていますか?

編集:このサーブレットはweb.xmlファイルの "/ Datos"にマップされています。

+0

クライアントはサーブレットに正常に接続していますが、サーブレットコードに問題がありますので、500ステータスが返されます。どのようにデバッグするのか分からない? – Loc

答えて

2

送信しているものが有効なJSONではありません。

var nombre = {nombre: 'Benito'}; 

このオブジェクトをJSONにマーシャリングします。

また、Angularもそれだけでそれを追加するので、役に立たないヘッダーを削除してください。

本文を行単位で文字列に読み込んだ後、文字列を解析するのではなく、リーダーをJSONパーサーに直接渡す必要があることに注意してください。

最後に、この500エラーの原因が何であるかを推測しようとするのではなく、例外のスタックトレースを読み取ることで、何がうまくいかないのかがわかりやすくなります。

+0

あなたはJSONのことについては正解です。シャワーの中で、今朝この事を実現しました。適切な場合は今すぐチェックしてください。それ以外の場合は、500エラーのスタックトレースを貼り付けてください。 – Zerok

+0

これで解決しました。 JSON(それは間違いなく書かれていたと思います)を解析する際に、何らかのエラーが発生しているようです。今はすべてがうまくいく、ありがとう! – Zerok

関連する問題