简体   繁体   中英

How I pass remoteFunction Value to Java Script in Grails

Can any one help me to sort out the problem. Why my javascript file not getting value from controller . here is my javacript code

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

            });  

Here is my controller function

    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]
}

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> 

Controller:

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+")
        }
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM