Таинственный разрыв строки добавляется к ajax-загруженному контенту - PullRequest
0 голосов
/ 11 февраля 2011

Используя .ajax или .load, я загружаю контент со страницы .html в элемент или заменяю его. В любом случае содержимое вызывается и вставляется, и после моего содержимого из файла .html добавляется таинственная новая строка (не элемент разрыва, а как \ n или \ r)

В инспекторе элементов Chrome это выглядит так:

<div class="loaded parent">
 // all my loaded content
</div>
"
(ghost line)
"

В коде нет разрывов, поэтому я понятия не имею, откуда это происходит.

.html:

<div id="ForgotPasswordForm" class="ajax">
 <h2>Reset Your Password test</h2>
 <div class="BlockContent">
 <p> Enter your email below to request a password reset. An email will be send with a reset link. </p>
 <p class="ErrorMessage" style="display:none"></p>
 <form action="/login.php?action=send_password_email" method="post" onsubmit="return check_forgot_password_form()">
 <div>
 <dl style="width: 270px;margin: 0 auto;height: 30px;">
 <dt style="float: left;width: 100px;text-align: right;margin:5px 5px 0 0;"> <span class="Required">*</span> Email Address: </dt>
 <dd style="float:left;font-size:12px;width:150px;">
 <input style="padding:4px;" type="text" class="Textbox" name="email" id="email" />
 </dd>
 </dl>
 <p class="Submit" style="text-align:center">
 <input type="submit" value="Continue" />
 </p>
 </div>
 </form>
 </div>
</div>​

Сценарий:

$('#recover-pass').click(
       function(e){
            e.preventDefault();
            //$('#login-content').load('/content/ResetPassword.html');
            $.ajax({
                  url: '/content/ResetPassword.html',
                  success: function(data) {
                        $('#login-content').replaceWith(data);
                        alert('Load was performed.');
                  }
            });
      });

Ответы [ 2 ]

0 голосов
/ 11 февраля 2011

Попробуйте скопировать / вставить код в другой редактор (например, блокнот в Windows). Многие текстовые редакторы могут использовать разрывы строк в разных ОС, и я видел такие, которые не могут удалить разрывы строк для типов, отличных от того, который установлен для использования. Например, один текстовый редактор помещает разрывы строк в Mac в конце файла, я открываю его в Windows, и мой текстовый редактор вообще не отображает и не отображает эти разрывы. Блокнот в значительной степени просто игнорирует все, о чем он не знает, поэтому, когда вы вставляете туда, он избавляется от лишних разрывов.

Если вы не видите эффект со ВСЕМИ AJAX-запросами, использующими ЛЮБОЙ файл, это, вероятно, виновник.

0 голосов
/ 11 февраля 2011

Большинство форматов текстовых файлов сохраняют файл с последним символом разрыва строки в EOF.Предполагая, что вы относитесь к этому html-файлу как к серверному включению, это, вероятно, вызывает ваши симптомы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...