我在json.erb模板中有以下json数据,并在其中包含了脚本标记。包含脚本标记后,我得到无效的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>
答案 0 :(得分:1)
您不能在JSON中包含<script>
或任何其他标记。这会使它无效。
另外,不要忘记将文本值包装成引号。否则,您的JSON将无效。
{
"name" : "<%= @name %>",
"etc.": "...",
要动态加载并执行javascript文件,您可以使用jQuery.getScript()
方法或在javascript中动态创建script
类型(如果您不在javascript中使用jQuery)项目)。
$.getScript('js/your-javascript.js');
答案 1 :(得分:0)
您可以使用以下命令从控制器渲染JSON:
while (file >> a >> b)
这将允许您从AJAX请求中点击show动作。如果我能给你更多信息,请告诉我。
答案 2 :(得分:0)
如果你想要脚本标签或需要ro run js作为回应,我认为你应该使用js.erb并在控制器上创建json对象,你可以在js.erb上使用