对象不支持属性或方法“值”[重复]
Posted
技术标签:
【中文标题】对象不支持属性或方法“值”[重复]【英文标题】:Object doesn't support property or method 'values' [duplicate] 【发布时间】:2017-09-01 11:20:16 【问题描述】:我正在尝试编写一些代码来获取 json 文件并进行读取。但是这段代码在 chrome 中工作,在 IE11 中不起作用,我需要使用 IE,实际上解决这个问题的真正解决方案是什么。我更改了一些值名称,但似乎仍然存在同样的问题。
Error Message
<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】:而不是这一行,
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 请参阅上面的编辑答案。 获取密钥后的映射在我的 Angular 应用程序中完美运行。谢谢! 按键和地图功能在 IE 11 中完美运行。谢谢。以上是关于对象不支持属性或方法“值”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
IE 控制台错误:SCRIPT438:对象不支持属性或方法“来自”
IE 11 - 无法解决“对象不支持属性或方法'charCodeAt'”或“对象不支持属性或方法'readAsBinaryString'”