javascript - 只有当所有代码都在一行上时,AJAX 请求才能正常运行

标签 javascript jquery ruby-on-rails ruby-on-rails-3

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

相关文章:

javascript - 异步事件和异常

javascript - 在页面上包含 Facebook 事件会引发错误

类 "flag en"上的 jQuery click()

jQuery.live() 和 cucumber 测试

javascript - 如何使用初始化的模型作为模式打开的唯一标识符?

ruby-on-rails - 如何在 Ruby/Rails 中匹配和替换模板标签?

javascript - 带有四个子 div 的头部 div

javascript - .aspx 的正则表达式?修改查询字符串

jquery - 模拟 POST 请求

javascript - 命名空间外部 Javascript 无法从目标 javascript 访问