Uncaught reference Error: <mapkey> is not defined

Uncaught reference Error: <mapkey> is not defined

$(document).ready(function() {


        var key = "testkey";
        var value = "testvalue";
        <apex:repeat value="{!timeSpent}" var="item">

            console.log(key);
            console.log(value);

            value = {!timeSpent[item]};
            key = {!item};

            console.log(key);
            console.log(value);
        </apex:repeat>

    });

timeSpent 是一个来自控制器的变量,一个字符串到十进制的 Salesforce 映射:

public Map<String, Decimal> timeSpent = new Map<String, Decimal(); 
// the map gets values via further code which works fine

当我执行上述 javascript 时,控制台显示:

2015-04-01 12:29:11.354cmRP_ResourceDashboard:45 测试密钥 2015-04-01 12:29:11.354cmRP_ResourceDashboard:46 测试值 2015-04-01 12:29:11.356cmRP_ResourceDashboard:49 未捕获的引用错误:未定义 Geblockt

我不知道为什么。 "Geblockt" 是该映射中的键,类型为字符串。该错误仅针对地图的键显示,而不针对值显示。任何想法,任何人?

这是 Inspector 的调试 (chrome)

 <script>

$(文档).ready(函数() {

  var key = "testkey";
  var value = "testvalue";

console.log(key);
console.log(value);

value = 0;
key = Geblockt; <---- HERE IS THE ERROR 

console.log(key);
console.log(value);

console.log(key);
console.log(value);

value = 5;
key = PR-122;

console.log(key);
console.log(value);

});

根据您的示例 Geblockt 被视为未定义的变量,因此您收到错误。

在引号中分配它然后它将被视为字符串:

key = "{!item}";