2013-08-05 3 views
0

Мне нужно отобразить файл журнала сервера на экране с помощью вызова ajax. Панель должна отображать каждые 10 секунд, чтобы обновить файл журнала. Я пробовал использовать следующий код.Файл журнала сервера на панели в extjs 3.X

var LogPanel = Ext.extend(Ext.Panel, { 
    title : 'API LOG', 
    width : '100%', 
    height:265, 
    autoScroll: true, 
    listeners: { 
      'render': function() 
       { 
        Ext.Ajax.request({ 
         url: 'logs/mylog.log', 
         success: function(response){ 
          Ext.getCmp('logPanelId').update(response.responseText); 
         } 
        });     
       } 
     } 
}); 
Ext.reg('logPanel', LogPanel); 
  • Я не могу правильно выровнен данные журнала в панели, доступные в файле журнала

  • Мой журнал содержит XML-коды. но xml-коды не отображаются на панели.

  • Одно из моих имен тегов xml - это «вход». но в панели Html текстовое поле было
    создано.

руководство для решения этих вопросов.

ответ

0

Попробуйте это:

var s = Ext.util.Format.htmlEncode(s); 
Ext.getCmp('logPanelId').update('<pre>' + s + '</pre>'); 
+0

спасибо. Его работа прекрасна. но содержимое панели выравнивается по центру. Мне нужно, чтобы это было выровнено. –

0

Пара вещей: 1) прочитать ответ как responseXML. Что-то вроде Ext.getCmp ('logPanelId'). Update (response.responseXML);

2) Это позволяет форматировать xml. Если ваш файл журнала привязан к схеме xml (обычно это так), вы должны взглянуть на XmlReader. Это поможет вам избежать накладных расходов на кодирование и декодирование на стороне клиента.

+0

Но мои файлы журнала содержат как xml, так и текстовый контент –

+0

Будет полезно, если вы можете предоставить образец ввода вашего файла журнала. – tallandroid

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