参见英文答案 >
Uncaught TypeError: Object.values is not a function JavaScript6个
我正在尝试编写一些代码来获取json文件并读取.但是这个代码在chrome中工作,在IE11中不起作用,我需要使用IE,实际上解决这个问题的真正解决方案是什么.我改变了一些值名称但似乎仍然存在同样的问题.
我正在尝试编写一些代码来获取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>
解决方法
而不是这条线,
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]; });