使用JQuery通过Ajax Post向服务器发送请求时删除新行

时间:2009-07-26 00:59:16

标签: php jquery ajax post

我正在尝试将Ajax与JQuery一起使用,我想要做的就是使用Ajax将多行文本框值发送到php。

我正在使用该代码,它将txtAnswer值发送给php,不幸的是,它从数据中删除了新行(\ n)。我怎样才能解决这个问题......提前谢谢。

$.post(
    'post-answer.php', 
     {
        answer: $("#txtAnswer").val(),
        qid: <?= $question_ID ?>
     },
     function (ajaxResponse) {
        $('#answers').html(ajaxResponse)
     }
   );

4 个答案:

答案 0 :(得分:6)

尝试:escape( $("#txtAnswer").val() )

= - )

答案 1 :(得分:4)

我也遇到过这个问题。当用户在textarea中键入时,我有一个div更新预览。以下是我在我的情况下发现的工作:

 jQuery('#task_description').keyup(function() {
  jQuery('#pre_description').html(jQuery('#task_description').val().replace( /\n/g, '<br \\>' ));
 }

答案 2 :(得分:3)

你肯定会被删除吗?如果你把它放在你的php文件中会发生什么:

<?php
print_r($_REQUEST['answer']);
?> 

使用firebug,您可以看到输出,并确定是否存在\n

我从未听说过jquery或原型删除\n

请记住,如果要在html格式上显示新行,则需要将它们转换为<br/>。我认为你试图这样做。

您可以使用nr2br执行此操作。

答案 3 :(得分:2)

我正在使用类型:POST的.ajax,它为我保存新行