Разбор xhr.responseText | GTM DataLayer Push

Я нашел этот замечательный скрипт, который выполняет работу по сбору JSON в определенной области моего сайта.

Я хотел бы разобрать xhr.responseText собирать только ID_number,

Вот сценарий:

<script>
(function() {
 var xhrSend = window.XMLHttpRequest.prototype.send;
 window.XMLHttpRequest.prototype.send = function() {
  var xhr = this;
  var intervalId = window.setInterval(function() {
   if(xhr.readyState != 4) {
    return;
   }
   dataLayer.push({
    'event': 'ajaxSuccess',
    'eventCategory': 'AJAX',
    'eventAction': xhr.responseURL,
    'eventLabel': xhr.responseText
   });
   clearInterval(intervalId);
  }, 1);
  return xhrSend.apply(this, [].slice.call(arguments));
 };
})();
</script>

1 ответ

Решение

Хорошо, это действительно очень просто, хотите верьте, хотите нет:)

У вас есть JSON-ответ в некоторой текстовой форме:

{"status":"ok","ID_number":"YE513215"}

Нам нужно превратить это в объект Javascript, чтобы мы могли извлечь из него атрибуты. Javascript имеет встроенный анализ JSON:

var response_object = JSON.parse(xhr.responseText);

Затем мы можем получить идентификационный номер:

var id_number = response_object.ID_number;
Другие вопросы по тегам