我有一个非常简单的问题。当ajax捕获来自php女巫的回声时,看起来像这样:
<h2> Hello world </h2>
<p>Simple text</p>
ajax将\ n添加到其中,因此HTML页面中的out看起来像这样:
你好世界 \ n \ n
简单的文字 \ n
重装后它(\ n)消失了。它不是PHP的错,因为当我在echo之前寻找\ n字符时,它不会替换任何东西,所以它必须通过ajax处理。难道你不知道如何在没有重新加载页面的情况下摆脱\ n输出?
修改 ajax:......我说得很简单......
$('#send').click(function(){
var obsah = CKEDITOR.instances['content'].getData();
var id = adr();
$.ajax({
data:{'content': content, 'id':id},
success: function(data){
$('#removeable').append(data);
},
error: function(){
alert('Error')
}
});
});
php:
if(!empty($_POST['content'])){
$prispevek = mysql_real_escape_string($_POST['content']);
$id = $_POST['id'];
$sql = "UPDATE navigation SET `content` = CONCAT_WS('',`content`,'$prispevek') WHERE `ID` = '$id'";
mysql_query($sql) or die (mysql_error());
//$prispevek = str_replace("\n", "", $prispevek);
echo $prispevek;
}
答案 0 :(得分:0)
问题在于元素之间的\n
(换行符)是由textarea引起的。因此,使用jQuery可以轻松修复添加行:
obsah = obsah.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, ' ');
答案 1 :(得分:0)
您是否尝试过使用 nl2br php函数? (http://php.net/manual/en/function.nl2br.php)
我认为这应该对您有帮助。
echo nl2br($prispevek);
还有一件事。我建议您在打印PHP响应后添加退出; 或 die(); 。
赞:
echo nl2br($prispevek);
exit;
为什么要这么做?阅读:https://stackoverflow.com/questions/2909475/will-php-code-exit-after-echo-for-ajax