Показать сообщение отдельно
  #1 (permalink)  
Старый 22.02.2012, 02:08
Новичок на форуме
Отправить личное сообщение для Sl0nique Посмотреть профиль Найти все сообщения от Sl0nique
 
Регистрация: 21.02.2012
Сообщений: 1

Обращение к серверу на ajax
Народ, помогите перевести эту часть php кода в ajax? чтобы получать массив ($trace_path) с сервера после запроса traceroute динамично, а не ждать окончательного результата? (для traceroute используется класс PEAR)
$target = $_POST['target'];

require_once "Traceroute.php";
$traceroute = Net_Traceroute::factory();
if(PEAR::isError($traceroute)) {
    echo $traceroute->getMessage();
} else {
    $traceroute->setArgs(array('numeric' => NULL));
    $result = $traceroute->traceroute($target);
    $trace_path = $result->_raw_data;
    echo '<pre>
            <div id="Total" style="border:solid 1px #00F; padding:10px;">Total</div>
            <div id="Test"  style="border:solid 1px #F00; padding:10px;">Start</div>
            </pre>';
     $js_obj = json_encode($trace_path);  
}


Вывод я сделала в яваскрипт:
<script>
var obj=<?=$js_obj; ?>;
function runUpdate() {
  if (i==0)  $('#Test').html('Loading...');
    timer2=setTimeout('updateStatus()', 1000);
}
var i = 0;
var countTotal = 0;
var a;
setTimeout('updateStatus()', 2000);
function updateStatus() {
    i ++;
    countTotal ++;
    $('#Total').html(countTotal);
    runUpdate ();
    if (i==1) { a=obj[i]+'<br>'; } else { a=a+obj[i]+'<br>'; }
    if ((i==30) || (i==obj.lenght)){ clearTimeout(timer2); }
    document.getElementById('Test').innerHTML=a;
}
</script>
Ответить с цитированием