在 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() 后的空控制台的主要内容,如果未能解决你的问题,请参考以下文章

在 JavaScript 中覆盖 console.log

Chrome JavaScript 开发者控制台:是不是可以在没有换行符的情况下调用 console.log()?

Javascript中console如何使用?

javascript 内部函数的定义及调用

JavaScript - 获取调用对象[重复]

JavaScript之链式调用this箭头函数