我将laravel 5.8与xampp一起使用。我的laravel文件位于xampp / htdocs文件夹中,而我的React文件位于任何桌面文件夹中(所以laravel运行xampp,react运行npm。)。
您知道react使用默认端口3000,我正在使用laravel的config。 etc / host 文件也已配置。
httpd.conf
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/son_surum/public"
ServerName local.laravel58
</VirtualHost>
我可以从外部链接(github等)中获取数据。但是我无法从http://local.laravel58/ URL获取。
Laravel响应代码 浏览器也正在运行,已经是GET请求方法。
<?php
..
return response($allPosts,200)->header('Content-Type','application/json');
使用axios代码进行抓取
componentDidMount() {
//axios.get('http://local.laravel58/react/all-posts')
axios.get('http://local.laravel58/react/all-posts')
.then(res => {
console.log(JSON.stringify(res.data));
this.setState({ posts: res.data });
}).catch(function (error) {
console.log("----",(error)) //postCard.js line #25
});
}
这样的错误显示;
我无法解决。通常,它应该获取数据。也许问题是港口?或apache(httpd.conf)?尽管进行了研究,但找不到解决方案。
感谢您的关注。
最好的问候。
答案 0 :(得分:1)
抱歉,我可以通过CORS快速解决此问题。我将laravel响应添加到标题Access-Control-Allow-Origin: *
需要更改的Laravel代码
<?php
..
return response($allPosts,200)
->header('Content-Type','application/json')
->header('Access-Control-Allow-Origin','*');
很抱歉我着急。希望它有用。
最诚挚的问候。