对象不支持属性或方法“values”。

18

我试图编写一些代码以获取JSON文件并进行读取。但是这些代码在Chrome中有效,在IE11中无法运行,而我需要使用IE。实际上解决此问题的真正方法是什么?我已更改了一些值名称,但仍然存在相同的问题。

错误信息

<html xmlns="http://www.w3.org/1999/xhtml">
    <head> 
    <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
    </head>
    <body>   
     <table id="userdata" border="0.02">
      
       <th>Revision  Date</th>
       <th>Document  Name</th>
       <th>Department </th>
       <th>Description</th>
       <th>Link</th>
     </table>
    <script>
              myObjects = [];
            $.getJSON('https://api.myjson.com/bins/1djve3', function(deneme) {
            myObjects = Object.values(deneme);
            console.log("Objects in array " + myObjects.length);
            
             $.each(myObjects, function(i, person) {
                  $('#userdata  th:nth-child(2)').html(person.revisiondate)
                  console.log("Person-" + person.revisiondate);
                  console.log("Person-" + person.documentname);
                  console.log("Person-" + person.department);
                  console.log("Person-" + person.description);
                  console.log("Person-" + person.link.split('href=')[1]+"' "+person.link.split('href=')[1]);    
                  
                  var $row = 
           "<tr><td>" + person.revisiondate + 
                                "</td><td>" + person.documentname + 
                                "</td><td>" + person.department +
                                "</td><td>" + person.description + 
                                "</td><td><a target='_blank' href='"+ person.link.split('href=')[1]+"' >"+person.link.split('href=')[1]+"</a></td></tr>"  
    
    $('table> tbody:last').append($row);
                }); 
              }); 
        
           
    </script>
    </body>
    </html> 


1
如果你期望别人花费他们宝贵的时间来帮助你回答问题,那么你也应该通过接受他们的答案来表达一般的感激之情。否则,没有人会对帮助你感兴趣。 - mp77
1个回答

44

不要使用这行代码,

myObjects = Object.values(deneme);

写作,

myObjects = Object.keys(deneme).map(itm => deneme[itm]);
因为Object.values是一个实验特性,不支持IE浏览器。

如果你的浏览器也不支持箭头函数,请写成:

myObjects = Object.keys(deneme).map(function(itm) { return deneme[itm]; });

什么是 =>?出现了错误。 - MCoskun60
@MCoskun60 请查看上面编辑过的答案。 - Rajaprabhu Aravindasamy
1
在我的Angular应用程序中,获取键后的映射完美运行。谢谢! - Kon
1
键和映射函数在 IE 11 中完美地工作了。谢谢。 - Fintan Kearney

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接