Разбор xhr.responseText |GTM DataLayer Push - PullRequest
0 голосов
/ 17 октября 2018

Я нашел этот замечательный скрипт, который выполняет работу по сбору 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 Ответ

0 голосов
/ 17 октября 2018

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

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

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

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

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

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

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