原因是什么;Javascript错误(意外标记)";在这个代码片段中?

原因是什么;Javascript错误(意外标记)";在这个代码片段中?,javascript,google-tag-manager,Javascript,Google Tag Manager,我正试图将天气数据导入谷歌分析。(我正在网上学习一个教程;我不精通Javascript,但我知道Python。)我已经设置了数据层变量、标记和触发器,但我有一个自定义HTML标记,它调用Openweathermap API,并将所有这些数据推送到数据层,这样我的标记就可以获取这些信息并返回到Google Analytics 有人能看一下这个代码并告诉我为什么我在第28行({)出现了一个意外的令牌错误吗 (功能(){ var fetchWeatherData=函数(经度、纬度){ //开放式天

我正试图将天气数据导入谷歌分析。(我正在网上学习一个教程;我不精通Javascript,但我知道Python。)我已经设置了数据层变量、标记和触发器,但我有一个自定义HTML标记,它调用Openweathermap API,并将所有这些数据推送到数据层,这样我的标记就可以获取这些信息并返回到Google Analytics

有人能看一下这个代码并告诉我为什么我在第28行({)出现了一个意外的令牌错误吗


(功能(){
var fetchWeatherData=函数(经度、纬度){
//开放式天气图
var owmAppKey='';
jQuery.getJSON('https://api.openweathermap.org/data/2.5/weather?lat=“+纬度+”&lon=“+经度+”&units=metric&APPID=”+owmAppKey)
.done(函数(数据){
window.dataLayer.push({
事件:“weatherDone”,
天气:data.weather[0]。main,
温度:固定(0)+“摄氏度”的数据主温度
});
}).失败(功能(jq、状态、消息){
console.log('天气请求失败:'+status+'-'+msg);
});
};   
var geoLocateUser=函数(){
$.getJSON('//extreme ip lookup.com/json/'))
.done(函数(数据){
获取天气数据(data.lon,data.lat);
}).失败(功能(状态,消息){
log('IP请求失败:'+status+'-'+msg);
});
};
if(typeof{{Session alive}}==='undefined'){
geoLocateUser();
}
//重置“会话”cookie,过期30分钟
var d=新日期();
d、 设置时间(d.getTime()+1800000);
var expires=“expires=“+d.togmString();
document.cookie=“session=1;”+expires+“path=/”;
})();
有几件事: 您收到一个错误,因为{{…}的类型是不正确的语法。 另外,
Session-alive
不是什么。如果它是一个变量,那么它应该是一个类似于
Session\u-alive
Session-alive
sessionAlive
的单词。 另外,双花括号
{…}}
(小胡子模板)通常在一些JS框架中使用,但不是普通JS的特性。 单花括号表示一个对象(例如:
{a:'one',b:'two'}
)。 如果
sessionAlive
是某种变量,并且您希望验证它是否是一个对象,那么您将编写
typeof sessionAlive
。 但是如果您正在检查值
Session
是否为
alive
,那么您应该编写一个条件,例如
if(Session=='alive')…

或者检查
Session
是否未定义,例如
if(Session==undefined).

你能检查一下“Session alive”标签是否在Google标签管理器中正确设置了吗?

我不知道{Session alive}的
类型{Session alive}
应该做什么{{Session alive}是在Google Tag Manager中设置的数据层变量;据我所知,这是GTM中数据层变量的正确语法。有趣。即使是这样,使用语法
if(typeof{{Session alive}}=='undefined')
也没有意义。也许
if(!{{Session alive}})
来检查错误?