Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Grails—将字符串值从控制器传递到视图,并在JS中为逻辑使用值_Javascript_Grails - Fatal编程技术网

Javascript Grails—将字符串值从控制器传递到视图,并在JS中为逻辑使用值

Javascript Grails—将字符串值从控制器传递到视图,并在JS中为逻辑使用值,javascript,grails,Javascript,Grails,使用Grails,在从控制器向视图传递模型之后 <g:render template="editor-template" model="[id: asset.key, json: someJson as grails.converters.JSON]"></g:render> 日志 然而,下一行尝试对此执行一些操作,无论是将值分配给新变量,还是对其进行方法调用,例如 var id = ${raw(id as String)} 结果是 ace:251 Uncaught

使用Grails,在从控制器向视图传递模型之后

<g:render template="editor-template" model="[id: asset.key, json: someJson as grails.converters.JSON]"></g:render>
日志

然而,下一行尝试对此执行一些操作,无论是将值分配给新变量,还是对其进行方法调用,例如

var id = ${raw(id as String)}
结果是

ace:251 Uncaught ReferenceError: episode1 is not defined
    at ace:251
我想要的是,能够使用字符串文字“eposode1”调用另一个方法,该方法对具有此ID的元素进行查找。如果我尝试直接调用该方法,则得到与尝试将新变量设置为其值时相同的结果

我试过:

  • 字符串形式从控制器传递
  • 在js中只使用
    ${id}
  • 在js中使用
    .toString()
  • 在js中使用
    .val()
  • 在js中使用
    .valueOf()

任何其他想法,谢谢!谢谢

我不确定我是否理解正确,但我认为您可以将id变量放入第页的隐藏字段中:

<input id="id-field" value="${id}"/>


然后在js中检索它的值。应将其视为文字字符串。

我不确定是否理解正确,但我认为您可以将id变量放入第页的隐藏字段中:

<input id="id-field" value="${id}"/>


然后在js中检索它的值。应将其视为文本字符串。

您已经通过了以下带有数据的模型

model="[id: asset.key, json: someJson as grails.converters.JSON] 
您可以在javascript中访问这些数据,如下所示:, 声明全局变量以访问页面中所有位置的这些数据,如下所示:

var id = "${id}"; // your string value.
var json = ${json}; // this is your json object which you need to parse

现在,您可以在JS中访问这些变量的值。

您已经用数据传递了以下模型

model="[id: asset.key, json: someJson as grails.converters.JSON] 
您可以在javascript中访问这些数据,如下所示:, 声明全局变量以访问页面中所有位置的这些数据,如下所示:

var id = "${id}"; // your string value.
var json = ${json}; // this is your json object which you need to parse

现在,您可以在JS中访问这些变量的值。

我认为您没有100%理解,但它确实给了我一个想法。GSP:JS:var myId=document.getElementById('id-field-${id}')).getAttribute('data-id');console.log(“myId:+myId”);setupEditorForId(myId);我认为嵌套模板等出现了一些奇怪的情况,所以这个问题是更大的grails设置的一部分。以上是我想要做的。看起来很复杂,不是最好的做法-我将进行更多调查,看看我是否能真正了解问题所在。我不认为你100%理解,但它确实给了我一个想法。GSP:JS:var myId=document.getElementById('id-field-${id}')).getAttribute('data-id');console.log(“myId:+myId”);setupEditorForId(myId);我认为嵌套模板等出现了一些奇怪的情况,所以这个问题是更大的grails设置的一部分。以上是我想要做的。看起来很复杂,不是最好的做法-我将进行更多调查,看看我是否能真正看到问题所在。