Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.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
Laravel react本机应用程序返回404错误_Laravel_React Native - Fatal编程技术网

Laravel react本机应用程序返回404错误

Laravel react本机应用程序返回404错误,laravel,react-native,Laravel,React Native,我正在react native with laravel backend中创建应用程序。因此,我想从laravel服务器获取api,所以我使用该命令运行laravel php artisan serve --host=some-domain.test --port=anyPort 我就是这样创建api的 Route::get('users','PostController@get_users'); function get_users() { return Respon

我正在react native with laravel backend中创建应用程序。因此,我想从laravel服务器获取api,所以我使用该命令运行laravel

php artisan serve --host=some-domain.test --port=anyPort
我就是这样创建api的

Route::get('users','PostController@get_users');
function get_users()
    {
        return Response()->json(User::get(),200);
    }
在react native中,我以这种方式调用该api

constructor()
  {
    super();
    this.state={
      data :[]
    }
  }
componentDidMount()
  {
    this.callApi();
  }
  async callApi()
  {
    
    let data=await fetch(' http://192.168.1.1:8081/api/users') //same as where laravel server is running
    let adata= await data.text();
    this.setState({data:adata})
    console.warn(data)  
  }
它返回404错误:
开发服务器返回响应错误代码:404
但当我停止laravel服务器并刷新我的应用程序,然后启动laravel服务器时,它会返回该错误

Possible unhandled promise rejection(id:0):

我现在该怎么办?

你没有正确处理你的承诺,因此你会犯错误。Fetch的使用方式如下:

fetch('http://example.com/movies.json')
  .then(response => response.json())
  .then(data => console.log(data));
您可以在官方文件中了解更多信息:

如果要设置状态,必须在第二个.then()调用中进行设置


另外,请记住添加一个
.catch(err=>console.log(err))
来过滤错误。

我认为您需要处理cors请求

你可以安装这个软件包

https://github.com/fruitcake/laravel-cors
要生成配置文件,请运行以下命令

php artisan vendor:publish --tag="cors"
然后在config/cors.php中更新

<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Cross-Origin Resource Sharing (CORS) Configuration
    |--------------------------------------------------------------------------
    |
    | Here you may configure your settings for cross-origin resource sharing
    | or "CORS". This determines what cross-origin operations may execute
    | in web browsers. You are free to adjust these settings as needed.
    |
    | To learn more: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
    |
    */

    'paths' => ['api/*'],

    'allowed_methods' => ['*'],

    'allowed_origins' => ['*'],

    'allowed_origins_patterns' => [],

    'allowed_headers' => ['*'],

    'exposed_headers' => [],

    'max_age' => 0,

    'supports_credentials' => false,

];
protected $middleware = [
  \Fruitcake\Cors\HandleCors::class,
    // ...
];