【发布时间】:2018-07-11 14:56:19
【问题描述】:
我使用 Laravel 5.5 创建了一个 api,并在 Postman 中对其进行了测试。因此,在 Postman 中它工作正常,但是当我尝试从前端连接它时,我遇到了一些错误。我在前端使用 Vue.js。
这是来自前端使用 axios 的请求:
<script>
import axios from 'axios';
export default {
data () {
return {
posts: {}
}
},
created() {
axios({
method: 'get',
url: 'http://localhost:8000/api/users',
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token, Authorization',
'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',
'Access-Control-Allow-Credentials': true,
'Content-Type': 'text/html; charset=utf-8'
}
}).then(response => {
this.posts = response.data;
console.log(this.posts[0].body);
}).catch(error => {
console.error(error.message);
});
}
}
</script>
还有api路由:
Route::get('users', 'UserController@index');
API 正在通过php artisan serve 命令在localhost:8000 上运行。
Vue.js 应用程序正在通过yarn run dev 命令在localhost:8000 上运行。
有什么解决办法吗?
【问题讨论】:
-
标头应该来自服务器,而不是客户端。即服务器应响应客户端的请求,其中包括您编写的标头
-
你能举个例子吗?谢谢你。
标签: laravel rest api vue.js vuejs2