奇怪的换行添加到ajax加载的内容

时间:2011-07-28 09:51:22

标签: jquery-ui jquery

我遇到了同样的问题there,除了在我加载的内容的开头添加了神秘的换行符。

使用Firebug或不同的检查员时,这就是我所拥有的:

<div class="form_item" style="display: block;"><!-- Start of Ajax loaded content -->
                                                  <--- ghost line
  <div class="view_question">
  <div class="view_edit" style="display:none">
<!-- End of Ajax loaded content --></div>

此鬼线在显示内容时会导致换行。 此外,此问题仅发生在我的一个ajax请求中。我实际上是在jquery里面使用它 droppable&amp;排序即可。 如果你发现错误,这是我的代码:

$(".form_container").sortable({
        // ...
        receive: function(event,ui) {
            // ...
            $.ajax({
                dataType: 'html',
                data: '',
                type: 'GET',
                url: link,
                success: function (data){
                    // ...
                    $('.form_container').find('.form_item').html(data);
                }
            });
        }
    });

我已经通过我的代码来删除文件末尾的空行,但没有任何改变。

我在等你的宝贵答案。谢谢!

---第一次编辑---

link是一个简单的网址。该URL是一个发回纯HTML的控制器。使用Firebug进行检查时,响应中没有换行符。

---第二次编辑---

我在可排序列表中删除的元素看起来像这样

<div class="form_item"><a href="link">....</a></div>

然后我在JS中获取link值以执行请求。

我试图改变这一行

$('.form_container').find('.form_item').html(data);

$('.form_container').find('.form_item').html('Test');

然后我没问题。如果我尝试调试data(使用alert(数据)或在Firebug中),HTML是正确的,没有换行符。 :(

2 个答案:

答案 0 :(得分:2)

对我来说,它似乎是服务器方面的问题。

可能的调试点:

  1. 生成响应的服务器端脚本

  2. 如果不确定服务器端脚本

    ,则修剪数据

    $('.form_container').find('.form_item').html(data.trim());

  3. 使用CSS忽略父元素上的空格,例如

    <div class="form_item" style="display: block;white-space:normal">

    希望这会有所帮助

答案 1 :(得分:0)

您是否能够收紧HTML中的空格?

代码中的空格/换行符可以解释为文本节点,并在页面上呈现为空格和/或换行符。

看看是否有效:

<div class="form_item" style="display: block;"><div class="view_question">