我有一个从 Controller 发送的 AJAX 请求,如下所示:
在 Controller 中:
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/