【问题标题】:How to replce the url using jquery/javascript?如何使用 jquery/javascript 替换 url?
【发布时间】:2011-06-24 09:43:52
【问题描述】:

在我的应用程序的任何地方单击 hot kyes ctrl+t 时,它应该将 url 重定向到 http://localhost:8080/myapp/account/create 我通过将 .js 文件放在 js 文件夹中并将该文件包含在每个页面中来做到这一点。 .js 文件的内容是

    jQuery(document).bind('keypress', 'Ctrl+T',function (evt){ 
    window.location.href =("http://localhost:8080/myapp/account/create");
    return false
 });

其中 myapp 是 Controller 并且 create 是 Action 。所以我不想对整个 url 进行硬编码,无论 url 是什么,只有控制器和动作应该被替换。这样在生产环境中我就不需要更改 url。这是 Grails 应用程序

【问题讨论】:

  • 现在它工作正常.. 有没有办法通过传递控制器和动作来创建 url jus?

标签: javascript jquery grails


【解决方案1】:

据我了解,您的问题是将当前上下文路径传递给 javascript,是吗?

您可以记住视图中的当前上下文名称(例如,在基本布局中),将其放入您的 <head> 块中:

<script type="text/javascript">
     window.pageContext = '${request.contextPath}';
</script>

然后从其他 javascript 中使用它,例如:

jQuery(document).bind('keypress', 'Ctrl+T',function (evt){ 
    window.location.href = window.pageContext + "/account/create";
    return false
});

或者,如果您需要生成控制器+动作的完整路径,您必须使用:

<g:createLink controller="account" action="create" />

更多信息请参见http://grails.org/doc/latest/ref/Tags/createLink.html

【讨论】:

  • window.pageContex == /myapp(它返回) localhost:8080 怎么样?
  • 它也存储在上下文中,并且在 grailsApplication 中
猜你喜欢
  • 2011-11-02
  • 1970-01-01
  • 2021-08-08
  • 2017-07-11
  • 2012-01-25
  • 2011-10-17
  • 2019-07-14
  • 1970-01-01
  • 2013-11-01
相关资源
最近更新 更多