我有一个带有评论系统的网站。系统获取上一条注释,并将其添加到下一条。
In reply to your comment:\n<?php echo $_POST['firstComment'];?>\n-------------\n
当用户尝试添加新评论时,我会抓住上面的行并将其扔到这里:
$('#addCommentButton').click(function(){
var id = $(this).attr('name');
var firstComment = "<?php echo $bodyComment;?>";
$.ajax({.......
问题是var firstComment被定义为:
"In reply to your comment:
g
-------------
asdfasfasfsfsdfsdf";
我最终遇到了JavaScript错误:
Uncaught SyntaxError: Unexpected token ILLEGAL
问题是我需要新的换行符,以便注释框看起来很漂亮。
如何将变量firstComment设置为此处的内容,包括换行符?我努力了:
var firstComment = "<?php echo $bodyComment;?>".replace("\n|\r\n| ","");
仍然得到错误。
最佳答案
使用json_encode
:
var firstComment = <?php echo json_encode($bodyComment);?>;
就像使用
htmlspecialchars
进行转义以输出HTML安全的字符串一样,您需要为JavaScript字符串/数据提供类似的转义功能。