解析xhr.responseText | GTM DataLayer推送

时间:2018-10-17 04:26:26

标签: javascript google-analytics google-tag-manager google-datalayer data-layers

我发现了一个很棒的脚本,可以将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 :(得分:1)

好吧,这真的很简单,信不信由你:)

您有某种文本形式的JSON响应:

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

我们需要做的是将其转换为Javascript对象,以便我们可以从中提取属性。 Javascript具有内置的JSON解析:

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

然后我们可以获取ID号:

var id_number = response_object.ID_number;