Использование netbeans 6.9 для отладки ajax / xmlhttprequest и php - PullRequest
0 голосов
/ 31 марта 2011

Я использую netbeans 6.9 и использую xdebug для просмотра моего php-файла, и это здорово. Тем не менее, я использовал ajax / xmlhttprequest в моем проекте, и мне трудно отладить это. Я провел небольшое исследование, наткнулся на firebug / firephp и немного прочитал. Я не против изучения новых инструментов, но если они могут быть интегрированы в тот идеал, который я сейчас использую, он будет более эффективным и действенным.

Итак, чтобы предоставить больше примеров, предположим, на моем index.php у меня есть это:

<button onclick="getTweet()">Get Tweets!</button>

функция getTweet () находится в файле .js

function getTweet(){
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function(){
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
             // do something here
        }
    }
    xmlhttp.open("GET", "getTweet.php?q="+$phpVars,true);
    xmlhttp.send();
}

getTweet.php выходит и выполняет поиск в Твиттере:

$search = "http://search.twitter.com/search.atom?q=" . $q . "";
$tw = curl_init();
curl_setopt($tw, CURLOPT_URL, $search);
curl_setopt($tw, CURLOPT_RETURNTRANSFER, TRUE);
$twi = curl_exec($tw);
$search_res = new SimpleXMLElement($twi);

Теперь я новичок в веб-разработке, php, js, ajax, html, xml, json, netbeans. Я буквально изучаю все это за последние 3,5 месяца, поэтому я новичок и нуждаюсь в четких инструкциях.

В getTweet.php я могу вставить точки останова в netbeans, НО ... когда я нажимаю кнопку html, которая вызывает getTweet () из файла .js, который создает xmlhttprequest, отладчик в netbeans не запускается. Возможность видеть переменные и их выходные данные (XML, JSON и т. Д.) Чрезвычайно помогла мне в изучении этого материала, поэтому я хотел бы быть в состоянии видеть переменные в getTweet.php, такие как $ twi, $ search_res и т. Д. ..

Спасибо за совет !!!

PS: сработает ли firebug для того, чего я пытаюсь достичь? Я учусь медленно и не хочу накапливать слишком много вещей одновременно. Спасибо!

Ответы [ 2 ]

1 голос
/ 31 октября 2013

Чтобы запустить отладчик в getTweet.php , необходимо указать xdebug, что отладчик прослушивает, отправив параметр XDEBUG_SESSION_START. Обновите код в getTweet (), чтобы иметь следующее:

xmlhttp.open("GET", "getTweet.php?XDEBUG_SESSION_START=netbeans-xdebug&q="+$phpVars,true);
0 голосов
/ 31 марта 2011

Xdebug будет перехватывать только события на стороне сервера, что означает, что вы не сможете пройтись по нему с помощью клиентского скрипта.Тем не менее, у Netbeans есть возможность пошагово проходить через Javascript (на самом деле я сам не пробовал, поскольку использую Firebug для пошагового прохождения скрипта).

Вот некоторая документация по настройке отладки скриптов в вашем проекте Netbeans.

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