我有一个从AJAX请求中获取的控制器,如下所示:
在控制器中:
respond_to do |format|
format.js {render 'show_data'}
end
show_data.js.erb
$('#foo').html("<%= render partial: "foo/show_data" %>");
部分:_show_data.html.erb
<table> <tr> <th><%= "Name" %> </th> <th><%= "ID" %> </th> </tr> <tr> <td> <%= "Steve" %> </td> <td> <%= "1"%> </td> </tr> </table>
仅当所有代码都在一行上时,上表才可以正确呈现。如果我按回车键,则在AJAX请求通过后它不会显示在目标div中。这不是表格标记所独有的,我只是以它为例。任何时候只要有多条线都不会显示。
工作时的响应:
$('#proto').html("<table> <tr> <th>Name </th> <th>ID </th> </tr> <tr> <td> Steve </td> <td> 1 </td> </tr> </table>");
不起作用时的响应:
$('#proto').html("<table> <tr> <th>Name </th> <th>Rep ID </th> </tr> <tr> <td> @rep.name </td> <td> @rep.id </td> </tr> </table>
");
发出AJAX请求的相同系统在我的另一个应用程序中也可以正常工作。任何帮助将不胜感激,非常感谢!
最佳答案
将字符串分成几行而不是很长的一行是否很重要?
如果是这样,请使用类似以下内容的方法:
$('#proto').html(
"<table> <tr> <th>Name </th>"
+ "<th>ID </th> </tr>"
+ "<tr> <td> Steve </td>"
+ "<td> 1 </td> </tr> </table>"
);
关于javascript - 仅当所有代码都在一行上时,AJAX请求才能正常运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16852275/