我有一个从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/

10-12 19:51