2015-07-02 2 views
0

Может ли кто-нибудь помочь мне разобраться в проблеме. Почему мой javascript-файл не получает значения от контроллера. вот мой Javacript кодКак передать значение RemoteFunction в Java Script в Grails

$("#email").click(function() { 
      alert("dhukse"); 
      ${remoteFunction(
        controller: 'login', 
        action:'checkNumber', 
        update:'myDiv', 
        params:'\'number=\'+$(\'#phone\').val()' 
        )}; 
      alert(${number}); 

      }); 

Вот моя функция контроллера

def checkNumber(){ 
      def number=params.number 
      println params.number 
      def key 
      def user=Login.findByPhone(params.number) 
      println user 
      if(user){ 
       key=1 
      } 
      else{ 
       key=0 
      } 
      println key 
      //println user.phone 
      [number:key] 
} 

ответ

0

file.gsp:

<div id="mydiv"></div> 

    <g:javascript> 
     $("#email").click(function() { 
        var phone = $("#phone").val(); 
        ${remoteFunction(
          controller: 'login', 
          action:'checkNumber', 
          update:'mydiv', 
          params:[number:phone] 
          )}; 


        }); 
    </g:javascript> 

_response.gsp:

<g:if test="${user}"> | <g:if test="${user}"> 
    <p>key: 1 </p>  |  <p>phone: ${user?.number} </p> 
</g:if>     | </g:if> 
<g:else>    | <g:else> 
    <p>key: 0 </p>  |  <p>not user </p> 
</g:else>    | </g:else> 

Контроллер:

class LoginController { 
    def checkNumber(PhoneCommand command){ 
       println command?.number 
       def user=Login.findByPhone(command?.number) 

       render template: "response", model: [user:user] 
    } 
} 

    @grails.validation.Validateable 
    class PhoneCommand { 
     String number 
     static constraints = { 
      number(blank: true, matches: "\d+") 
     } 
    } 
Смежные вопросы