Разбор 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;