Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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 Vue.js使用Vue资源记录API端点响应_Javascript_Vuejs2 - Fatal编程技术网

Javascript Vue.js使用Vue资源记录API端点响应

Javascript Vue.js使用Vue资源记录API端点响应,javascript,vuejs2,Javascript,Vuejs2,我尝试在我的组件中记录API响应只是为了测试,但我仍然得到一个错误401(未经授权),我在本地主机中执行此操作,我的API也托管在本地主机中,但只是使用虚拟主机url,因此我得到以下结果: 我正在使用vue cli在localhost:8080中运行vue 这是我的代码,我的main.js: import Vue from 'vue' import VueRouter from 'vue-router' import VueResource from 'vue-resource' import

我尝试在我的组件中记录API响应只是为了测试,但我仍然得到一个错误401(未经授权),我在本地主机中执行此操作,我的API也托管在本地主机中,但只是使用虚拟主机url,因此我得到以下结果:

我正在使用vue cli在localhost:8080中运行vue

这是我的代码,我的main.js

import Vue from 'vue'
import VueRouter from 'vue-router'
import VueResource from 'vue-resource'
import Vuex from 'vuex'
import router from './routes/router.js'
import App from './App.vue'

Vue.use(VueRouter)
Vue.use(VueResource)
Vue.use(Vuex)

/* eslint-disable no-new */

// Start
new Vue({
  router,
  el: '#app',
  render: h => h(App)
})

// Bearer token auth
Vue.http.interceptors.push((request, next) => {
  request.headers.set('Authorization', 'Bearer eyJ0...')
  request.headers.set('Accept', 'application/json')
  next()
})
和我的App.vue

<template>
     <div id="app">
        <img src="./assets/logo.png" alt="">
        <button type="button" @click="getFilial">click</button>
      </div>
</template>

<script>
  export default {
    data () {
      return {
        context: 'app context',
        loaded: false
      }
    },
    methods: {
      getFilial () {
        this.$http.get('http://api.myurl.dev/educational/filials').then(response => {
          console.log(response.data)
        })
      }
    }
  }
</script>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

点击
导出默认值{
数据(){
返回{
上下文:“应用程序上下文”,
加载:false
}
},
方法:{
GetDurth(){
这是。$http.get('http://api.myurl.dev/educational/filials)。然后(响应=>{
console.log(response.data)
})
}
}
}
#应用程序{
字体系列:“Avenir”、Helvetica、Arial、无衬线字体;
-webkit字体平滑:抗锯齿;
-moz osx字体平滑:灰度;
文本对齐:居中;
颜色:#2c3e50;
边缘顶部:60像素;
}

通过vue资源触发您的API,它实际上是在用适当的HTTP 401状态代码向您的前端应用程序答复您无权使用它

关注你的后端API!您的前端应用程序运行得很好,并且实际上与API进行了通信,API回答“401”:


也许您的头(
授权:Bearer eyJ0…
)没有按照API的预期进行格式化,但请再次关注您的API来调试它

通过vue资源触发API时,它实际上是在向您的前端应用程序答复您无权使用它,并使用适当的HTTP 401状态代码

关注你的后端API!您的前端应用程序运行得很好,并且实际上与API进行了通信,API回答“401”:


也许您的头(
授权:Bearer eyJ0…
)没有按照API的预期进行格式化,但请再次关注您的API来调试它

我正在使用一个名为Postman的应用程序来测试我的api,它运行得非常好..太好了!你能分享你的邮递员“授权”和“标题”选项卡的屏幕截图吗?另外,你有没有在浏览器控制台中验证发送到API的实际请求?它真的配置了你的头吗?在你提到这一点之后,我发现问题出在我的apache httpd-vhosts.conf上,我需要设置我的请求头。所以我放置了这个,现在它正在工作
Header set Access Control Allow Origin“*”Header set Access Control Allow Methods“GET,POST,PUT,DELETE,OPTIONS“Header set Access Control Allow Headers”*,Authorization“
我正在使用一个名为Postman的应用程序来测试我的api,它工作得非常好..太棒了!你能分享你的邮递员“授权”和“标题”选项卡的屏幕截图吗?另外,你有没有在浏览器控制台中验证发送到API的实际请求?它真的配置了你的头吗?在你提到这一点之后,我发现问题出在我的apache httpd-vhosts.conf上,我需要设置我的请求头。所以我放置了这个,现在它正在工作
Header set Access Control Allow Origin“*”Header set Access Control Allow Methods“GET、POST、PUT、DELETE、OPTIONS”Header set Access Control Allow Headers“*,Authorization”