2012-01-18 3 views
0

Я использую вызов jquery ajax, чтобы вытащить файл с моего сервера и загрузить его в simplemodal для отображения. Входной файл является прямым текстом с новыми символами unix "\ n". Я пытаюсь преобразовать символы новой строки в
или добавить
в каждую строку без везения.simplemodal с jquery ajax()

Я отобразил файл, как я хочу, с помощью функции alert(), но похоже, что alert() делает это преобразование для меня.

Модальный отображает файл - никаких проблем. Он просто не отформатирован так, как я хочу. Я просмотрел много сообщений и много раз пробовал.

Любая помощь отличная. Заранее спасибо. Майк

function getLogFile(filename) { 
    jQuery('div').remove('.logfile-class'); 
    var logdiv = $(document.createElement('<div>')).attr({'id': 'logfile-id', 'class': 'logfile-class'}); 
    $('body').append(logdiv); 

    $.ajax({ 
      type: 'GET', 
      url: "./logs/" + filename, 
      dataType: "html", 
      success: function(html) { 
        //alert(html); 
        html.replace(/\s$/g,"<br />"); 
        $('#logfile-id').append(html); 
        $('#logfile-id').modal(); 
      } 
    }); 

    $('.logfile-class').hide(); 

}

ответ

0

Сделайте ваш контейнер < предварительно> -элементные и установить текст с помощью AppendChild

html = "This\nis\na\ntest"; 
var element = document.getElementById("preElement"); 
element.appendChild(document.createTextNode(html)); 

Пожалуйста, проверьте fiddle

+0

Спасибо. Используя < pre >, вытащил все новые строки и дал мне одну длинную линию. Предложенная модификация .replace не повлияла на контент вообще. Заставляет меня задаться вопросом, работает ли замена во всех ее положениях. Замена «\ n» на «
» - это то, что мне нужно. Кажется, что замена, которую я вижу в других сообщениях, для тех же изменений, что и у вас. Это действительно, как получить html newlines? – Mike

+0

Я вижу, что это работает на jsfiddle, но я не могу заставить его работать внутри успеха: раздел функции ajax. Я буду продолжать взламывать его и публиковать обновления, когда я его заработаю. Это кажется таким прямым. Еще раз спасибо. – Mike

+0

Удалите строку 'html.replace' и напишите' $ ('# logfile-id'). Append (document.createTextNode (html)) ' –

Смежные вопросы