为什么包含带有ajax的换行符的打印文本会导致错误?

时间:2015-10-06 04:29:38

标签: jquery ajax

我在点击后使用jQuery / ajax打印文本。但是当文本包含换行符时,此操作会导致错误。

@model.text = "line
               another line"


<!-- ERB -->

<script type="text/javascript">
  $("#click-to-show%>").click(function() {
    $("#text-wrapper").html("<%= @model.text %>");
  });
</script>  

我该如何避免这种情况?

1 个答案:

答案 0 :(得分:1)

Javascript不允许在其字符串中使用文字换行符。 将代码更改为@model.text = "line\\nanother line"

顺便说一句,这不是适当的AJAX。你没有做异步请求。

使用适当的AJAX,您可以使用单独的页面打印数据,例如:

@model.text = "line
               another line"
<!-- ERB -->
<%= @model.text %>

在原始文件中:

<script type="text/javascript">
  $("#click-to-show%>").click(function() {
    $.get('URL-TO-THAT-SEPEARTE-PAGE', function(result) {
        $("#text-wrapper").html(result);
    })
  });
</script>