javascript - 解析 xhr.responseText | GTM 数据层推送

标签 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>

最佳答案

好吧,这其实很简单,信不信由你:)

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

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

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

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

然后我们可以得到id号:

var id_number = response_object.ID_number;

关于javascript - 解析 xhr.responseText | GTM 数据层推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52847288/

相关文章:

ajax - 谷歌分析和使用 ajax GET 请求加载页面

javascript - Firebase SDK 删除整个集合而不是仅删除一个文档

使用 Jasmine 将 JavaScript 数字转换为字符串测试

google-analytics - 谷歌分析用户事件API

android - 如果在 Android Google Analytics 中不调用 stop() 函数会发生什么?

javascript - 警报框引用值

Javascript 解析错误 - Google 跟踪代码管理器

php - 有没有办法使用 php 来触发带有测量协议(protocol)或其他服务的标签?

javascript - 检查 onClick react 的值

javascript - 是否可以将 jquery ajax 请求链接为一级队列(无嵌套)