В диве лежит картинка. У <div> и у <a> разные ID, каждый с обработчиком клика. Если кликнуть по картинке, то вызывается обработчик для <a> и для <div>, и в таком случае должны отправиться два запроса и получить должны мы два ответа. Но приходит ответ только для <div> HTML: HTML: <div id="ttt1"> <a id="ttt2"> <img src="/template/images/control/image.png"></a> </div> JS: Код (Javascript): $('#ttt1').click(function (ev){ test1(); }); $('#ttt2').click(function (ev){ test2(); }); function test1() { xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200){ var itext = xmlhttp.responseText; alert (itext); } } xmlhttp.open("POST", "/marker/test1", true); xmlhttp.setRequestHeader ( "Content-type", "application/x-www-form-urlencoded" ); xmlhttp.send(); } function test2() { xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200){ var itext = xmlhttp.responseText; alert (itext); } } xmlhttp.open("POST", "/marker/test2", true); xmlhttp.setRequestHeader ( "Content-type", "application/x-www-form-urlencoded" ); xmlhttp.send(); }
@SpikePHP, для начала попробуйте два разных объекта XMLHttpRequest(); Например, в начале функций test1 и test2 добавьте: var xmlhttp = new XMLHttpRequest();
ребят... нельзя использовать одинаковые идентификаторы..... либо ид меняйте, либо делайте класс и отслеживайте его , либо еше какие то аттрибуты какая куча одинаковых ид не была бы в документе, отрабатываться всегда будет только первый, ибо браузер знает что ид уникальный и больше таких не будет
@Sail, спасибо! Недоглядел, что у меня переменные не объявлены. Получалось, что без объявления они были глобальными и на одну и ту же переменную приходили ответы? А зачем эти заголовки добавлять? Спасибо еще раз!
Чтобы в обработчике можно было добавить что-нибудь подобное: PHP: if(empty($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) !== 'xmlhttprequest') { exit('Not ajax request'); }
@Sail, как интересно. Заставляет задуматься. Потому как у меня нет этой проверки... У меня есть проверка лишь админ ли пользователь?(Если не админ, то ajax-запрос не обрабатывается) Какие в таком случае у меня дыры в безопасности открыты?