2017-08-17 9 views
0

我有代码来获取已存储在cookie中的GA参数,并将它们作为输入的值以不工作的形式输入,并且我不能为我的生活找出答案为什么。JavaScript object.key不工作

(function($) { 
    if (Cookies.get('gaParams')) { 
     var params = Cookies.get('gaParams'); 
    } 
    $('#source').val(params['utm_source'] ? params['utm_source'] : 'organic'); 
    $('#medium').val(params['utm_medium'] ? params['utm_medium'] : ''); 
    $('#campaign').val(params['utm_campaign'] ? params['utm_campaign'] : ''); 
    $('#keywords').val(params['utm_terms'] ? params['utm_terms'] : ''); 

    console.log(params,params['utm_medium'],params.utm_medium); 

}(jQuery)); 

你可以通过去here然后点击“请求报价”按钮来看到它的行动。
console.log将返回{"utm_medium":"testing","utm_source":"whatever"} undefined undefined

我不明白为什么调用对象键不会给我这样的值。

+2

您是否在尝试解析您的json数据? – Aayushi

回答

1

因为变量params是字符串类型。您应该使用此方法JSON.parse()来解析JSON字符串

var params = Cookies.get('gaParams'); 
params = JSON.parse(params);