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

Javascript 解析xhr.responseText|GTM数据层推送,javascript,google-analytics,google-tag-manager,google-datalayer,data-layers,Javascript,Google Analytics,Google Tag Manager,Google Datalayer,Data Layers,我发现了这个很棒的脚本,它可以将JSON收集到我站点的特定触发区域 我想解析xhr.responseText以仅收集ID\u编号 以下是脚本: (功能(){ var xhrSend=window.XMLHttpRequest.prototype.send; window.XMLHttpRequest.prototype.send=函数(){ var xhr=这个; var intervalId=window.setInterval(函数(){ 如果(xhr.readyState!=4){ 返

我发现了这个很棒的脚本,它可以将JSON收集到我站点的特定触发区域

我想解析
xhr.responseText
以仅收集
ID\u编号

以下是脚本:


(功能(){
var xhrSend=window.XMLHttpRequest.prototype.send;
window.XMLHttpRequest.prototype.send=函数(){
var xhr=这个;
var intervalId=window.setInterval(函数(){
如果(xhr.readyState!=4){
返回;
}
数据层推送({
“事件”:“ajaxSuccess”,
“eventCategory”:“AJAX”,
“eventAction”:xhr.responseURL,
“eventLabel”:xhr.responseText
});
clearInterval(intervalId);
}, 1);
返回xhrSend.apply(这个,[].slice.call(参数));
};
})();

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

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

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

var response_object = JSON.parse(xhr.responseText);
然后我们可以获得id号:

var id_number = response_object.ID_number;

请提供
xhr.responseText
中的示例@RandyCasburn:{“status”:“ok”,“ID_number”:“YE513215”}这是我运行脚本时得到的数据结构。首先用JSON解析解析responseText:
let data=JSON.parse(xhr.responseText)
然后获取id,这样:
让id=data.id\u number
非常感谢!但我不确定如何以及在何处将其添加到代码中。你能帮我吗?干杯@RandyCasburn既然你打败了我,真的应该有办法把这个分配给你;)但我一定会试试。@Dave-看起来像我要找的东西。非常感谢你!唯一的问题是我完全是个新手,我不知道如何用正确的方式编写代码。我已经尝试过了,但是我得到了错误。@您将在何处添加此项取决于您希望对信息执行的操作。上面包含的代码看起来像是修改了通常的AJAX请求,以便向某种数据层发送更新,但实际上并没有生成AJAX请求本身。老实说,如果你是新手,我不会尝试直接用javascript处理AJAX请求,这是一个巨大的痛苦。相反,您可以使用jQuery,它有很多帮助器方法。我会看看我能用这些信息做些什么-非常感谢!哦,好的!因此,它应该像添加到数据层对象中一样简单:JSON.parse(xhr.responseText)[“ID\u number”]