gpt4 book ai didi

javascript - 在同一页面加载的 javaScript 文件中使用 gsp 布局声明变量

转载 作者:行者123 更新时间:2023-12-03 08:11:28 25 4
gpt4 key购买 nike

我最近开始学习 grails,我尝试使用在页面布局中声明的 gsp 变量:

<g:set var="abtestType" value="newSearchBar" />

在同一页面加载的js文件中。我尝试过的事情:

 alert(${abtestType});  
alert(<%=abtestType%>);
alert("abtestType:"+abtestType);

但它显示错误,因为变量未定义。可能我试图以错误的方式获取它,需要有关此的帮助。

最佳答案

Even thinking about doing so neither makes sense nor applicable.

这样声明的原因是,当 gsp 页面呈现为 html 页面时,它会用适当的 html 标记或值替换 grails 标记。同样,它取代了 ${}<%%>使用 html 或 javascript 或任何前端的内容。

因此,如果您在 gsp 本身中有这些 javascript 代码行,那么您尝试过的代码可能可以正常工作,但由于您调用了外部化 js 文件,所以它实际上不知道有关 gsp 或 jsp 或任何其他语言前端的任何信息-结束支持。

一种方法是使用 global variable在 JavaScript 中。例如

在上面声明 abtestType 如下:

<script>
var abtestType = "${abtestType}"
</script>

现在您可以访问全局变量 abtestType在你的 JavaScript 中。

在你的 JavaScript 中使用它,但请记住,现在你需要拥有这个变量,前提是使用它的代码被调用,否则你会得到同样的错误,即 variable is not defined

我在这篇文章中发现了另一种方法,但实际上是一种操纵。

Is there any analogue in Javascript to the __FILE__ variable in PHP?

另外,另一个很好的链接是

Pass vars to JavaScript via the SRC attribute

希望对你有帮助!

关于javascript - 在同一页面加载的 javaScript 文件中使用 gsp 布局声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34128106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com