【问题标题】:Grails POST data via Jquery AJAXGrails 通过 Jquery AJAX 发布数据
【发布时间】:2016-08-09 10:41:59
【问题描述】:

应用信息:

  • Grails 3.1.8
  • jQuery 2.2.0

我有一个 Grails 表单,我想通过 AJAX 发布。我能够做到这一点,并且数据确实保留在数据库中。要发布的代码如下:

<g:javascript>

    $('#insertSchool').submit(function () {

        $.ajax({
            type: 'POST',
            url: '/school/saveSchool',
            data: $("#insertSchool").serialize(),
            success: function(savedSchool) {


            }

        });

    });

</g:javascript>

控制器代码:

def saveSchool(School newSchool) {

    def theSchool = schoolService.saveSchool(newSchool)

    render theSchool as JSON
}

在成功功能中,我想重定向到另一个页面并发送一条消息说学校已保存。我是 Jquery 的新手,所以我无法实现这一点。任何帮助,将不胜感激。

【问题讨论】:

  • window.location = '/school/success';
  • 如果要将用户重定向到其他地方,为什么还要使用 Ajax?
  • 对于我还没有实现的错误方法。我想在表单上显示错误消息
  • 请在此处查看 Flash 消息:docs.grails.org/1.3.9/ref/Controllers/flash.html

标签: jquery ajax grails grails-3.1


【解决方案1】:

您可以使用远程功能重定向另一个页面。

<script>
   $('#insertSchool').submit(function () {
        ${remoteFunction(action: 'xyz', controller:'xyz',method: 'post',
            params: 'variable:value',onSuccess: 'redirectFunction();')};
    }

   function redirectFunction(){
        alert("the school has been saved");  
       // AGAIN USE A REMOTE FUNCTION TO REDIRECT ON ACTION (your gsp page)
   }

 </script>

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-02-10
  • 2017-01-21
  • 2015-05-20
  • 1970-01-01
  • 2011-01-03
  • 2020-04-19
  • 2014-01-10
  • 1970-01-01
相关资源
最近更新 更多