Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript axios.get不返回JSON_Javascript_Vue.js_Axios - Fatal编程技术网

Javascript axios.get不返回JSON

Javascript axios.get不返回JSON,javascript,vue.js,axios,Javascript,Vue.js,Axios,我正在学习Vue.js框架。更具体地说,使用Axios使用API 我有以下代码: var app = new Vue({ el: '#app', data () { return { info: null } }, mounted () { axios .get('https://api.coindesk.com/v1/bpi/currentprice.json') //.get('http://calapi.inadi

我正在学习Vue.js框架。更具体地说,使用Axios使用API

我有以下代码:

var app = new Vue({
  el: '#app',
  data () {
    return {
      info: null
    }
  },
  mounted () {
    axios
      .get('https://api.coindesk.com/v1/bpi/currentprice.json')
      //.get('http://calapi.inadiutorium.cz/api/v0/en/calendars/general-en.json')
      .then(response => (this.info = response))
  }
})
axios,快https://api.coindesk.com... 生产线运转正常。不幸的是,第二行没有注释

有没有人能告诉我为什么评论行没有回应

代码:


提前感谢。

似乎不支持CORS。

这是因为CORS。您可以安装名为CORS的Google Chrome插件并启用它。这将允许您的axios调用工作。

Codepen使用https,但您正试图访问使用http的网站上的资源,如您在console中所看到的:

js:25混合内容:页面位于 已通过HTTPS加载,但 请求了不安全的XMLHttpRequest终结点 . 此请求已被阻止;内容必须通过HTTPS提供

如果使用JSFIDLE而不是codepen,它将起作用:


此外,您请求的资源位于response.data中

可以从response.data中检索响应数据

api.coindesk.com没有CORS问题,因为它已经包含访问控制允许源代码:*标题

将代码更改为:

axios.get('https://api.coindesk.com/v1/bpi/currentprice.json')
.then(response => (this.info = response.data))

查看正在发出的网络请求,您会发现它由于阻塞的混合内容标志而失败

有点挖掘表明,这可能是因为调用是通过http而不是https进行的,不幸的是,https只能由API的创建者修复。因此,浏览器无法发出请求,因为它认为响应不安全。阅读更多


不幸的是,这并不能真正回答问题,如果请求是从后端发出的,那么它可能对混合内容不太敏感,但在浏览器中,您可能很难从该API获得结果。例如,从邮递员处调用api响应时不会出现任何问题

感谢您的响应。因此,如果最终用户没有CORS插件,它将无法工作?您如何从这个API中获得结果?使用和显示API中的数据最常用的方法是什么?它可以工作。您正在本地主机上运行应用程序,因此无法访问受CORS保护的服务。当你把你的应用程序放到网上时,就不会有问题了。