Javascript “如何停止”;[对象对象]”;从打印而不是对象本身?
我的问题可能有一个非常简单的解决方法,但我对javascript还不熟悉,似乎找不到答案。下面是脚本:Javascript “如何停止”;[对象对象]”;从打印而不是对象本身?,javascript,html,Javascript,Html,我的问题可能有一个非常简单的解决方法,但我对javascript还不熟悉,似乎找不到答案。下面是脚本: var proxyUrl = 'https://cors-anywhere.herokuapp.com/', targetUrl = 'https://api.darksky.net/forecast/[key]/[latitude],[longitude]' fetch(proxyUrl + targetUrl) .then(blob => blob.json()) .
var proxyUrl = 'https://cors-anywhere.herokuapp.com/',
targetUrl = 'https://api.darksky.net/forecast/[key]/[latitude],[longitude]'
fetch(proxyUrl + targetUrl)
.then(blob => blob.json())
.then(data => {
console.log(data);
document.getElementById('weather').innerHTML = data;
})
但是,当我运行它时,
元素没有更改为数据itslef,而是更改为“[object object]”我做错了什么?感谢您的帮助
PS:targetUrl变量在参数所在的位置有占位符,它不会按原样运行。检查API调用返回的数据,然后将其添加到html中。我认为它正在返回一个对象,您正在尝试在DOM中显示该对象。据我所知,您正在尝试将数据打印到id为“weather”的
元素中
请替换以下行
document.getElementById('weather').innerHTML = JSON.stringify(data);
它可以正常工作。
数据
不是字符串,而是对象。您的console.log(数据)
将显示对象的内容。如果要显示对象的特定属性,请使用data.PropertyName
。如果要打印整个对象,请使用:JSON.stringify(data)
是元素的“weather”吗?设置innerHTML值将调用toObject
,如果您正在寻找不同的方法来检查对象,它将打印[object object]
,可能会有所帮助。