@anton99zel
29а класс средней школы №7

Как убрать ошибку Uncaught ReferenceError?

Разбираюсь в технологии передачи данных в аналитику, набросал код, но выдает ошибку:
дублирую сюда все сообщения из консоли, ошибка в третьем сообщении

Chrome is blocking ads on this site because this site tends to show ads that interrupt, distract, or prevent user control. You should fix the issues as soon as possible and submit your site for another review. Learn more at https://www.chromestatus.com/feature/5738264052891648


Conflict when accessing the jQuery Mask Input Plugin: undefined typeof $.mask


Uncaught ReferenceError: onAjaxSuccess is not defined at HTMLAnchorElement.
- указывает на первую onAjaxSuccess в коде.

<a id='buttonId'>отправить данные в аналитику</a>
<script>
$('#buttonId').click(function(){
        $.post(
                "http://www.google-analytics.com/collect",
                {
                        v: '1',
                        tid: 'UA-xxxxxx-1',
                        cid: 'a7a364d8-0d14-4e77-b637-xxxxxxxxxx',
                        t: 'transaction',
                        ti: '21001',
                        ta: 'online покупка',
                        tr: '1000.00'
                },
                onAjaxSuccess
        )
$.post(
                "http://www.google-analytics.com/collect",
                {
                        v: '1',
                        tid: 'UA-xxxxxx-1',
                        cid: 'a7a364d8-0d14-4e77-b637-xxxxxxxxxx',
                        t: 'item',
                        ti: '21001',
                        in: 'товар1',
                        ip: '700.00',
                        iv: 'категория1'
                },
                onAjaxSuccess
        )
        $.post(
                "http://www.google-analytics.com/collect",
                {
                        v: '1',
                        tid: 'UA-xxxxxx-1',
                        cid: 'a7a364d8-0d14-4e77-b637-xxxxxxxxxx',
                        t: 'item',
                        ti: '21001',
                        in: 'товар2',
                        ip: '300.00',
                        iv: 'категория2'
                },
                onAjaxSuccess
        )
});
</script>
  • Вопрос задан
  • 822 просмотра
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Вы вы используете в коде неопределенный идентификатор onAjaxSucces и получаете соответствующую ошибку.
Вы должны определить в коде выше функцию onAjaxSucces
function onAjaxSucces(data) {
  // do something with data
} 

$.post(
  "http://www.google-analytics.com/collect",
  {
    v: '1',
    tid: 'UA-xxxxxx-1',
    cid: 'a7a364d8-0d14-4e77-b637-xxxxxxxxxx',
    t: 'item',
    ti: '21001',
    in: 'товар2',
    ip: '300.00',
    iv: 'категория2'
  },
  onAjaxSucces
);

, либо определить анонимную функцию в аргументах:
$.post(
  "http://www.google-analytics.com/collect",
  {
    v: '1',
    tid: 'UA-xxxxxx-1',
    cid: 'a7a364d8-0d14-4e77-b637-xxxxxxxxxx',
    t: 'item',
    ti: '21001',
    in: 'товар2',
    ip: '300.00',
    iv: 'категория2'
  },
  function(data) {
    // do something with data
  }
);

Второй вариант предпочтительнее, если функция не переиспользуется.

$.post так же может принимать аргументом объект с параметрами.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы