используя Google Analytics для регистрации ошибок AJAX - PullRequest
3 голосов
/ 15 марта 2012

У меня есть следующий код, который должен отправлять пользователю уведомление об ошибке ajax, и в качестве мгновенного решения я решил использовать Google Analytics для регистрации этих ошибок, однако это не работает, есть у кого-нибудь идея / руководство или я должен реализовать другое решение?

showNotification(title, message) - это вызывающий пользовательский диалог.

$(document).ajaxError(function(e, xhr, settings) {
    $(".modal").modal('hide');
    showNotification('Something went wrong...', 'Whoa there! Something happened which we didn\'t predict, we sent ourselves a notification. ');
    _gaq.push(['_trackEvent', 'AjaxError', xhr.status, settings.url]);
});

работает в том смысле, что показывает уведомление, но не отправляет событие в аналитику. какие-либо ведет?

Ответы [ 2 ]

2 голосов
/ 11 мая 2012

Проблема в том, что xhr.status является целым числом, и обычно 0. Второй аргумент trackEvent должен быть строкой, и, очевидно, если это целое число 0, Google игнорирует вызов. Так что использование statusText исправляет это:

$(document).ajaxError(function(e, xhr, settings) {
    // Generic Google error logging
    _gaq.push(['_trackEvent', 'AjaxError', xhr.statusText, settings.url]);

    // Application-specific UI code
    $(".modal").modal('hide');
    showNotification('Something went wrong...', 'Whoa there! Something happened which we didn\'t predict, we sent ourselves a notification. ');
});

Кроме того, я бы рекомендовал сделать вызов GA перед вашим кодом, так как (без обид) код Google с меньшей вероятностью выдает ошибку.

Отличная идея, кстати!

0 голосов
/ 15 марта 2012

Возможно, другая ошибка произошла где-то в вашем коде. Я смоделировал образец этой функциональности здесь, и она работает:

http://jsbin.com/emocah/edit#preview

Вы только начали отслеживать это? Иногда для распространения новых событий в ГА требуется несколько дней. Кроме того, есть ли другие ошибки JS, которые происходят на вашей странице?

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