如何在json.erb模板中呈现脚本标记
How to render script tag in json.erb template
我在json.erb模板中有以下json数据,并包含了script标记。包含script标记后,我得到了无效的json响应。下面的代码出了什么问题。
{
"name" : <%= @name %>,
"totalRecords" : <%= @all_records %>,
"filteredRecords" : <%= @filteredRecords %>,
"data" : [
<%= render partial: "user_list", collection: @users %>
]
}
<script type="text/javascript">
$(document).ready(function(){
$('#selectall').click(function () {
// .....
});
});
</script>
您不能在JSON中包含<script>
或任何其他标记。那将使它无效。
另外,不要忘记将文本值用引号括起来。否则,您的JSON将无效。
{
"name" : "<%= @name %>",
"etc.": "...",
要动态加载并执行javascript文件,可以使用jQuery.getScript()
方法或在javascript中动态创建script
类型(如果您的项目中不使用jQuery)。
$.getScript('js/your-javascript.js');
您可以使用从控制器渲染JSON
def show
... # setup code
render json: @my_json_structure
end
这将允许您从AJAX请求中点击show操作。如果我能给你更多的信息,请告诉我。
如果您想要脚本标记或需要ro运行js作为响应,我认为您应该使用js.erb并在控制器上创建json对象,该对象可以在js.erb上使用
相关文章:
- 不显示带有本地json文件数据的谷歌地图脚本
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 在使用客户端脚本时拾取JSON对象
- 试图在Windows上执行package.json中的脚本会引发JScript错误
- 等效于<script src=“;something1.json”></脚本>
- 如何在json.erb模板中呈现脚本标记
- 如何为输出Json对象的ajax调用编写客户端脚本
- 从 JSON 获取键值对而不使用 .(DOT) 在 Java 脚本或 jquery 中
- 为什么我的JavaScript / JSON脚本不能在Internet Explorer中工作
- 我无法使用JSON将值从javascript传递给PHP脚本
- 使用jquery ajax访问php脚本返回的JSON
- 将JSON数组从PHP传递到Java脚本
- 如何从脚本页面返回json数据
- 如何向客户端返回带有双引号的字符串?脚本将其解析为JSON对象
- SyntaxError:JSON.parse:登录脚本中出现意外字符
- 如何将自定义脚本添加到运行javascript文件的package.json文件中
- Google 脚本:JSON.parse 无缘无故失败
- Java 脚本 json 解析对象:删除操作后不删除“,”
- 使用数据从AJAX回复到PHP脚本(JSON)
- 基本的java脚本json子数组解码