Jquery post不保留换行符

Jquery post不保留换行符,jquery,post,line-breaks,Jquery,Post,Line Breaks,我有一个javascript,它可以发布来自不同div的数据,但我似乎无法让它保留换行符 我认为这与我在我找到的内容上使用.text()有关,这可能根本不会保留换行符。我尝试了使用.html(),但由于某种原因,这会使所有写在新行上的文本嵌入到divs中 代码如下: <script type="text/javascript"> $(document).ready(function() { $("#actor_result").load('xml/actortoxml.p

我有一个javascript,它可以发布来自不同div的数据,但我似乎无法让它保留换行符

我认为这与我在我找到的内容上使用.text()有关,这可能根本不会保留换行符。我尝试了使用.html(),但由于某种原因,这会使所有写在新行上的文本嵌入到divs中

代码如下:

<script type="text/javascript">

$(document).ready(function() {

    $("#actor_result").load('xml/actortoxml.php?owner=<?php echo $_SESSION['username'] . "&id=" . $_GET['id']; ?>');
    $('#save_editable').click(function() {
        var name = $(document).find('#actorname').text();
        var current = $(document).find('#currenthealth').text();
        var max = $(document).find('#maxhealth').text();
        var effects = $(document).find('#actoreffects').text();
        var notes = $(document).find('#actornotes').text();

        $.ajax({
            url: 'actor_profile.php',
            type: 'POST',
            data: {
                update: 'true',
                actorid: <?php echo $_GET['id']; ?>,
                actorname: name, currenthealth: current, maxhealth: max, actoreffects: effects, actornotes: notes
            },
            success : function() {
            // gets called when ajax request completes successfully
            $("#actor_result").hide().load('xml/actortoxml.php?owner=<?php echo $_SESSION['username'] . "&id=" . $_GET['id']; ?>').fadeIn(500);     
            },
            error : function(err) {
                // in case of error
                console.log(err);
                alert('error');
            }
        });
    });
});
</script>

$(文档).ready(函数(){
$(“#actor_result”).load('xml/actortoxml.php?owner=');
$(“#保存_可编辑”)。单击(函数(){
var name=$(document.find('#actorname').text();
var current=$(文档).find('#currenthealth').text();
var max=$(document.find('#maxhealth').text();
var effects=$(document.find('#actorefects').text();
var notes=$(document.find('#actornotes').text();
$.ajax({
url:'actor_profile.php',
键入:“POST”,
数据:{
更新:“true”,
艾克托丽德:,
actorname:name,currenthealth:current,maxhealth:max,actoreffects:effects,actornotes:notes
},
成功:函数(){
//在ajax请求成功完成时调用
$(“#actor_result”).hide().load('xml/actortoxml.php?owner=').fadeIn(500);
},
错误:函数(err){
//万一出错
控制台日志(err);
警报(“错误”);
}
});
});
});
编辑,这是从xml文件生成的html:

<div id="actor_result" style="display: block;">
    <!--?xml version="1.0"?-->

    <div class="row-fluid row span6 offset3">
        <div class="media well well-small">
            <a class="pull-left" href="#"><img class=
            "media-object img-circle circle128" src=
            "images/avatar/actor/Davius.png"></a>

            <div class="media-body page-header actor-profile">
                <div class="editable_name" contenteditable="true" id=
                "actorname">
                    <h4 class="media-heading">Davius</h4>
                </div><small><strong>awarnhag's minion</strong></small>
            </div><strong>Health:</strong>

            <div class="div_inline editable_hp" contenteditable="true" id=
            "currenthealth">
                17
            </div>/

            <div class="div_inline editable_hp" contenteditable="true" id=
            "maxhealth">
                20
            </div>hp
        </div>

        <h5><span class="label">Effects</span></h5>

        <div class="editable well well-small" contenteditable="true" id=
        "actoreffects">
            Mumblecore bushwick sed, nulla street art dolore delectus wolf
            american apparel artisan sriracha. Laboris seitan hoodie,
            freegan brooklyn letterpress adipisicing chambray mixtape id
            tofu organic butcher small batch. Art party carles readymade
            messenger bag williamsburg. Irony placeat sustainable, high
            life cillum yr sed vinyl pork belly messenger bag williamsburg
            VHS. Occaecat lo-fi readymade gluten-free 3 wolf moon. Ad tofu
            twee, blog nulla mumblecore gentrify brooklyn odio cliche
            selvage put a bird on it pork belly chillwave deserunt. Ea
            assumenda chillwave, keytar velit tumblr pour-over enim VHS
            mcsweeney's blog.aaaa
        </div>

        <h5><span class="label">Notes</span></h5>

        <div class="editable well well-small" contenteditable="true" id=
        "actornotes"></div>
    </div>
</div>

达维乌斯
阿旺哈格的仆从
健康状况:
17
/
20
惠普
影响
Mumblecore bushwick sed,nulla street art dolore deletus wolf
美国服装工匠sriracha。Laboris seitan连帽衫,
freegan brooklyn活版Adipising chambray混音带id
豆腐有机肉店小批量。艺术派对carles成衣
威廉斯堡邮差包。具有讽刺意味的是,可持续的、高
williamsburg的life cillum yr sed乙烯基猪肚信使包
VHS。Occaecat低保真现成无麸质3狼月。广告豆腐
特维,博客nullamumblecore绅士布鲁克林奥迪奥陈词滥调
布边放了一只鸟在上面,猪肚皮。Ea
假设chillwave、keytar velit tumblr倾倒在enim VHS上
mcsweeney的blog.aaaa
笔记

很难从上面的片段中准确地判断出发生了什么

在发送(POST)数据之前或在收到数据之后($.load),您是否尝试将
-标记转换为“\n”,或反之亦然?
什么标记类型是“#actor\u result”(div、textarea、input等)?

您可以获取innerHTML并手动替换所有div和br

$("#id").html()
        .replace(/<(br|p|div)[^>]*>/g, "\n")
        .replace(/<\/?\w+[^>]*>/g, "");
$(“#id”).html()
.替换(/]*>/g,“\n”)
.替换(/]*>/g,“”);

这个想法很傻,但不妨试试CSS:
*{white-space:pre}
,因为xml是通过xsl转换为html的。white-space不起作用。我认为这与JavaScript通过.text()删除它们有关实际上,CSS是有帮助的。结合使用BR:s进行替换,直到我在其上应用了空格:pre=DI我对javascript不太熟悉,因此在没有得到帮助的情况下很难尝试新方法#actor_result只是一个div,其中放置了由xsl转换为html的xml#例如,actornotes是div中的一个可编辑div,id为“actor\u result”。这正是我想要的,非常感谢=但这似乎不是一个完美的解决方案。我只是试着把一段的某些部分往下推几行,保存后什么也没做,回到编辑前的状态。我添加了更通用的搜索模式。