У меня есть следующее событие click, которое вызывает метод codeigniter для обновления моей базы данных. Он используется для отслеживания кликов по ссылкам. Он работает в IE9, но не в Firefox 3.6.3.
$(".link").click(function(event) {
$.get('<?= base_url() ?>ajax/click_out/' + $(this).attr("site_id"));
});
Он вызывает правильный php-файл и отправляет правильную информацию, но получает пустой ответ. Если я добавляю предупреждение после получения, оно работает, и оно также работает, если я предотвращаю событие по умолчанию. Возможно ли, что Firefox не завершает ajax, потому что код исчезает, как только загружается новая страница?
Чтобы проверить это, я изменил код на:
$(".link").click(function(event) {
event.preventDefault();
var link = $(this);
$.get('<?= base_url() ?>ajax/click_out/' + $(this).attr("site_id"));
window.document.location.href = $(this).attr("href");
});
Я думал, что придется подождать, пока перенаправление не будет завершено, но это тоже не работает. Если я удаляю перенаправление, но оставляю в нем команду protectDefault, он отлично отслеживает щелчок (но, очевидно, не отправляет пользователя на сайт.
В случае необходимости, html ссылки:
<a href="<?= $url ?>" site_id="<?= $site_id ?>" class="link"><?= $title ?></a>
Я очень новичок в jQuery и javascript и буду признателен за любую помощь, которую смогу получить!