Grails 如何在GSP页面中捕获以json形式从控制器呈现的值

Grails 如何在GSP页面中捕获以json形式从控制器呈现的值,grails,Grails,我想在success函数中从gsp页的controller checkWord()中捕获呈现的值。我不知道如何做。我的代码如下 <script> function callAjax(){ var text= $('#word').val() console.log(text); $.ajax({ url:"checkWord", type:"post", // dataType:'json

我想在success函数中从gsp页的controller checkWord()中捕获呈现的值。我不知道如何做。我的代码如下

<script>

   function callAjax(){
       var text= $('#word').val()

       console.log(text);
    $.ajax({

        url:"checkWord",
        type:"post",
        // dataType:'json',
        data:{text: text},

        success:function(){

            alert()
        }

    });
       console.log(data + "hello")
   }
</script>

由于您将gsp用于视图,我将让grails remoteFunction来管理Ajax调用

首先,控制器应该有“withFormat”闭包,这样他就知道如何根据调用数据的方式来呈现数据(以防以后以不同的方式调用)

然后从gsp中,通过名称checkWord.json并使用remoteFunction调用控制器操作

我将您的JQuery#单词搜索作为参数

function callAjax(){
    ${remoteFunction(action: 'checkWord.json',
                   onSuccess: 'onSuccessFunction(data)',
                   params:'{text: \$(\'#word\').val()}' 
                  )
   }
}
然后需要一个脚本函数,当ajax调用成功时将调用该函数

   function onSuccessFunction(data){
        alert(data);
        //console.log(data + "hello")
    }
这应该行得通。 (至少以我喜欢的方式)
希望有帮助。

有什么问题?您在错误控制台中看到了什么?我解决了它。谢谢。我知道您说过您解决了它,但我想为阅读您的问题的任何人留下另一个选项。
function callAjax(){
    ${remoteFunction(action: 'checkWord.json',
                   onSuccess: 'onSuccessFunction(data)',
                   params:'{text: \$(\'#word\').val()}' 
                  )
   }
}
   function onSuccessFunction(data){
        alert(data);
        //console.log(data + "hello")
    }