Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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
Grails-在javascript中访问http数据_Javascript_Jquery_Json_Grails - Fatal编程技术网

Grails-在javascript中访问http数据

Grails-在javascript中访问http数据,javascript,jquery,json,grails,Javascript,Jquery,Json,Grails,这对我来说似乎很简单,但我正在努力!我正在开发我的第二个grails应用程序,第一个使用angular.js,但由于传统浏览器的要求,这次我无法使用。我已经使用.gsp模板挂钩(g:each、g:if等)和一些JQuery构建了一些页面模板,以完成一些基本的表示功能。现在的问题是,我需要在JavaScript中使用.gsp正在访问的数据(基本http get请求和页面加载) 我可以让控制器将数据呈现为JSON,但grails模板挂钩将停止工作 我可以从DOM中获取所有值并在JS中构建一个本地模型

这对我来说似乎很简单,但我正在努力!我正在开发我的第二个grails应用程序,第一个使用angular.js,但由于传统浏览器的要求,这次我无法使用。我已经使用.gsp模板挂钩(g:each、g:if等)和一些JQuery构建了一些页面模板,以完成一些基本的表示功能。现在的问题是,我需要在JavaScript中使用.gsp正在访问的数据(基本http get请求和页面加载)

我可以让控制器将数据呈现为JSON,但grails模板挂钩将停止工作

我可以从DOM中获取所有值并在JS中构建一个本地模型,或者我可以使用.gsp g:each输出数据,然后将每个数据保存到JS内联,但这两个过程看起来都很荒谬

我可以让控制器响应.gsp的数据,并分别为JS呈现为JSON,但这似乎是错误的


我不知道怎么做,请提供任何建议

使用返回此模型的操作的简单示例

def myAction() {
  [name: 'bob']
}
你基本上有两个选择

1。将数据存储在JavaScript变量中

<script type="text/javascript">
  var name = '${name}';
  // now do something with the name
</script>
<div id="name" data-name="${name}"></div>

你不能使用
数据-
属性吗?在看到Donal下面的回复后,我现在就是这么做的。不过,在我处理大型数据表时,这似乎要走很长一段路,所以我必须非常小心我的命名。我所希望的是一种简单的方法,可以一次访问完整的模型,包括它的所有属性,而不必从它的组成部分重新构建它。谢谢@Dónal-我现在选择选项2。必须从一个巨大的数据集中手动设置每个变量,然后必须在JS中将其编译成一个漂亮的数据模型,这就像把鲸鱼扔到海滩上一样。尤其是在工作之后。我想这就是向后兼容的代价@bitfidget我看不出手动设置每个
数据-
属性比为每个属性创建JS变量痛苦得多。就我个人而言,我更喜欢使用JSON而不是这些选项中的任何一个
var name = $('#name').data('name');