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

Parsing 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>

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

您有 JSON 某种文本形式的回复:

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

我们需要做的是将它变成一个 Javascript 对象,这样我们就可以从中提取属性。 Javascript 内置 JSON 解析:

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

然后我们可以得到身份证号码:

var id_number = response_object.ID_number;