2017-06-26 2 views
0

Googleでユーザー名を確認しました。この問題の解決策はありませんでした。ここでは、データベーステーブルuserのユーザ名を確認しようとしています。私は、これは私のscriptコードajaxを使用したSpring MVCのユーザー確認可

<script> 
$(function(){ 
    $("#usernamee").blur(function(){ 
     var uname = $('#usernamee').val(); 
     if(uname.length >= 3){ 
      $(".status").html("<font> Checking availability...</font>"); 
      $.ajax({ 
       type: "GET", 
       url: "/exist/"+uname, 
       success: function(msg){ 

        $(".status").html(msg); 

        } 
       }); 
      } 
     else{ 

      $(".status").html("<font color=red>Username should be <b>3</b> character long.</font>"); 
     } 

    }); 
}); 
</script> 

私はこれらのコードstatus spanタグのみだけchecking availability.....を示しを実行すると、これは

@RequestMapping(value = { "/exist/{name}" }, method = RequestMethod.POST) 
public void checkUsername(@PathVariable("name") String username, HttpServletResponse response , HttpServletRequest request) throws IOException { 

    response.setContentType("text/html;charset=UTF-8"); 
    PrintWriter out = response.getWriter(); 

    try { 

     String connectionURL = "jdbc:mysql://localhost:81/name"; // students is my database name 
     Connection connection = null; 
     Class.forName("com.mysql.jdbc.Driver").newInstance(); 
     connection = (Connection) DriverManager.getConnection(connectionURL, "root", "root"); 
     PreparedStatement ps = (PreparedStatement) connection.prepareStatement("select username from users where username=?"); 
     ps.setString(1,username); 
     ResultSet rs = ps.executeQuery(); 

     if (!rs.next()) { 
      out.println("<font color=green><b>"+username+"</b> is avaliable"); 
     } 
     else{ 
     out.println("<font color=red><b>"+username+"</b> is already in use</font>"); 
     } 
     out.println(); 



    } catch (Exception ex) { 

     out.println("Error ->" + ex.getMessage()); 

    } finally { 
     out.close(); 
    } 

} 

私のコントローラのコードであるコード

<input type="text" name="username" id="usernamee" tabindex="1"class="form-control" placeholder="Username"><span class="status"> 

を次のようしています。私のコントローラは呼び出されていません。 上記のコードはインターネットからコピーされています。どんな提案も歓迎されます。 は、私が取得していないあなたがGETリクエスト

$.ajax({ 
      type: "GET" 

しかし、あなたのコントローラPOST

@RequestMapping(value = { "/exist/{name}" }, method = RequestMethod.POST) 

いずれかの変更POSTにAJAXやコントローラが

+0

何を期待していますか?あなたにとって良い解決策は何ですか?あなたの問題は何ですか? –

+0

上記のコードが正常に動作しない ユーザー名が利用可能かどうかを表示したい –

+0

私はエラーについて少し質問を編集しました –

答えて

1

にありがとうあなたは上記のことから質問しますが、Ajaxリクエストには@ResponseBodyを追加する必要があります。 私が上記のことを思い出して、PrintWriterが使用され、@ResponseBodyは必要ではないが、@ResponseBodyを使うと良いだろう

+0

まだ動作していません –

+0

エラーはありますか?質問に追加しますか?任意のエフェクト(テキストなど)?コントローラーは呼び出されていますか?いくつかのログをコントローラに追加してチェックします。 – StanislavL

+0

ステータススパンのチェック可可可可 –

0

を得ることを期待を送る事前

+0

私はエラーについて少し質問を編集しました –

+0

checkUsername mehotdのブレークポイントを追加すると、ブレークポイントは意味がありますか? –

関連する問題