2017-03-10 6 views
-1

スプリングコントローラが何らかの処理を行うことに基づいてajaxにURLをロードしようとしていますが、返された文字列の値をHTMLラベルのテキストに設定する必要がある。 ajaxでスプリングコントローラのURLをロードする方法

は、私は上記のコードはいずれかがどのように私の必要性を達成するために私に言うことができます働いていなかった中で、次のコード

<script> 

    function emailValidation(){ 

     var mail=$("#email").val(); 

     ajax: '${pageContext.request.contextPath}/forgotPassword?email='+mail+'',{ 

      success:function(data) { 
      $('#message').text(data); 
      } 




    } 

    </script> 

コントローラ

@RequestMapping(value = "/forgotPassword", method = RequestMethod.GET) 
    public String forgotPassword(HttpServletRequest request) { 
     String mail=request.getParameter("email"); 

    String status=userService.sendForgotEmailToUser(mail); 

    //session.setAttribute("st", status); 

    //model.addAttribute("ErrorMessage", status); 

     return status; 


    } 

を結びました。

+0

$アヤックス({URL:XX})。 – rathna

+0

@rathnaええ、動作していますが、データがメッセージIDに設定されていません – KVK

+0

ブラウザでURLを直接押すとどうなりますか?あなたのControllerクラスを呼び出すのですか? – mhasan

答えて

0

私は最終的にコントローラクラスで@ResponseBody annotaionが見つかりませんでした。正しく動作している注釈を追加しました。

変更私は自分のコードで怒っていましたが、以下に示します。

@RequestMapping(value = "/forgotPassword", method = RequestMethod.GET) 
    @ResponseBody 
    public String forgotPassword(Model m,HttpServletRequest request) { 
     String mail=request.getParameter("email"); 

    String status=userService.sendForgotEmailToUser(mail); 



     return status; 


    } 

スクリプト関数

function emailValidation(){ 


     var mail=$("#email").val(); 



     $.ajax({ 
      url:"${pageContext.request.contextPath}/forgotPassword?email="+mail+"", 
      success:function(data) { 

      $('#message').text(data); 
      } 
      }); 

    } 
関連する問題