簡體   English   中英

未捕獲的參考錯誤: <mapkey> 沒有定義

[英]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是來自控制器的變量,它是String到Decimal的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 testkey 2015-04-01 12:29:11.354cmRP_ResourceDashboard:46 testvalue 2015-04-01 12:29:11.356cmRP_ResourceDashboard:49 Uncaught ReferenceError:未定義Geblockt

而且我不知道為什么。 “ Geblockt”是該映射中的鍵,鍵入string。 該錯誤僅顯示在地圖的鍵上,而不顯示在值上。 有什么想法嗎?

這是來自檢查器(chrome)的調試

 <script>

$(document).ready(function(){

  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}";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM