【问题标题】:How to redirect to a controller action from javascript如何从 javascript 重定向到控制器操作
【发布时间】:2015-06-08 10:38:43
【问题描述】:

我有一个 gsp 页面索引,其中有一个数据表。单击编辑图标时,我想重定向到编辑视图。我在这里尝试了一些代码,但没有结果。它正在重定向到索引页面本身。有人可以帮我吗?以下是我的尝试::

    $('#example').on('click', 'a.edit-reference_1st', function (e) {
                var selectRow = $(this).parents('tr');
                var control = this;
                var referenceId = $(control).attr('referenceId');
//              alert(referenceId)
                window.location.href = '<g:createLink action="edit" id="${referenceId}" />'             
//              window.location.href="${createLink(controller: 'audio', action:'edit')}"+'/'+referenceId;
            });

【问题讨论】:

  • 试试window.location = "${g.createLink(controller: 'controllerName', action: 'edit')}/" + referenceId;
  • @user1690588 感谢您的回复。实际上,当我使用此代码e.preventDefault(); 时,所有的努力都在发挥作用,没有它就没有任何作用。感谢您的帮助。
  • 太好了。确保您在 IE 中进行测试,因为您可能会在浏览器控制台中遇到错误,并且 preventDefault 可能不起作用(Ref# stackoverflow.com/questions/1000597/….
  • 在 IE 中有很多问题。我想离开 IE

标签: javascript grails datatable gsp


【解决方案1】:

这发生在“客户端”(在浏览器中的 javascript 中)。您必须事先在服务器上生成链接(例如,将其放在 js var 中),然后在客户端构建链接。伪代码:

var baseLink = '<g:createLink action="edit" id="ID"/>';
$(..., function(e) {
    ...
    window.location.href = baseLink.replace("ID", referenceId);
}

【讨论】:

  • 感谢您的回复,现在它正在调用控制器方法,但之后加载索引页面而不是编辑
猜你喜欢
  • 1970-01-01
  • 2016-02-06
  • 1970-01-01
  • 2013-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-05
相关资源
最近更新 更多