在 Javascript 中调用 console.log() 后的空控制台
Posted
技术标签:
【中文标题】在 Javascript 中调用 console.log() 后的空控制台【英文标题】:Empty console after console.log() call in Javascript 【发布时间】:2017-01-19 07:13:50 【问题描述】:所以,我的代码是
$.getJSON("https://api.forecast.io/forecast/API_KEY/55.9931803,92.773715", function(data)
console.log(data);
)
但是控制台是空的。没有错误,什么都没有。我做错了什么?
【问题讨论】:
data
可能是空的
不,不是。当你把它放在浏览器中时,url 可以正常工作
你错过了留言吗:XMLHttpRequest cannot load https://api.forecast.io/forecast/099d7717a79a457e72fd4b3e6e54c89c/55.9931803,92.773715?_=1473625797525. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://***.com' is therefore not allowed access.
尝试放置console.log('test')
以查看代码是否实际执行。
【参考方案1】:
不会按照您期望的方式工作(除非您从托管在 forecast.io 的前端视图中运行该 javascript)。
您遇到了经典的跨域资源问题。 https://en.wikipedia.org/wiki/Cross-origin_resource_sharing
他们好像没有Access-Control-Allow-Origin: *
您可能需要在您的网络服务器(服务器端)上 curl 请求并将您的 javascript 请求发送到您自己的网络服务器。
【讨论】:
或者使用JSONP:Forecast.io API Usage with jQuery 感谢您的解释。会尝试用它做点什么以上是关于在 Javascript 中调用 console.log() 后的空控制台的主要内容,如果未能解决你的问题,请参考以下文章