2015-10-06 62 views
0

我使用jQuery/ajax在點擊後打印文本。但是當文本包含換行符時,此操作會導致錯誤。爲什麼用ajax打印包含換行符的文本會導致錯誤?

@model.text = "line 
       another line" 


<!-- ERB --> 

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

我該如何避免這種情況?

回答

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> 
+0

如果它在評論部分,如何我可以處理輸入文字換行符的用戶嗎? –

+0

@JeffCaros您應該在寫入數據庫之前或演示之前預處理用戶提交的文本。 – TwilightSun

+0

像使用正則表達式來替換換行符「// n」? –

相關問題