ReactJS从Laravel本地主机xhr.js错误获取JSON

时间:2019-03-15 18:26:27

标签: reactjs laravel httprequest

我将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
    });
 }

这样的错误显示;

fetch error

我无法解决。通常,它应该获取数据。也许问题是港口?或apache(httpd.conf)?尽管进行了研究,但找不到解决方案。

感谢您的关注。

最好的问候。

1 个答案:

答案 0 :(得分:1)

抱歉,我可以通过CORS快速解决此问题。我将laravel响应添加到标题Access-Control-Allow-Origin: *

需要更改的Laravel代码

<?php
..
return response($allPosts,200)
            ->header('Content-Type','application/json')
            ->header('Access-Control-Allow-Origin','*');

很抱歉我着急。希望它有用。

最诚挚的问候。