【问题标题】:Post data to laravel through React通过 React 将数据发布到 laravel
【发布时间】:2023-03-30 18:00:02
【问题描述】:

我正在尝试通过 React 表单注册用户,将值传递给 Laravel 中的控制器并插入数据库。问题是,然后我按下提交按钮,在控制台中出现错误:

POST ('localhost:3001/api/register') 404 未找到

这是我的 api.php 文件

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});
Route::post('register','Auth\RegisterController@create');

RegisterForm.js

import { addUser } from './RegisterFunctions';

...

onSubmit = event => {
    event.preventDefault();
    addUser(this.state.name, this.state.email, this.state.password).then(() => {
      this.getAll();
    });
    this.setState({
      name: '',
      email: '',
      password: ''
    });
  };
...

和 RegisterFunctions.js

import axios from 'axios';


export const addUser = (name, email, password) => {
    return axios
        .post('/api/register',
            {
                name:name,
                email:email,
                password:password
            },
            {
                headers: {'Content-Type': 'application/json'}
            })
        .then(res => {
            console.log(res)
        })
        .catch(err => {
            console.log(err)
        })
};

另外,我在 package.json 中定义了代理。 我做错了什么?谢谢!

【问题讨论】:

  • 我认为您需要提供 axios.post(baseurl/api/register) 的完整路径
  • 抱歉,我没有指定有问题的基本 url。控制台日志显示完整路径,但显示该页面未找到
  • 邮递员能打到吗?
  • 是的,它适用于邮递员

标签: php reactjs laravel api


【解决方案1】:

我认为您向错误的端点发出请求 将你的 baseUrl 更改为

localhost:portNumber // port that your php server is running on

希望对你有帮助

【讨论】:

  • 在 Laravel 项目中,我在 .env 文件中这样设置:APP_URL=http://localhost:8000 REACT_APP_BASE_URL = http://localhost:3001 在 react 项目中,我尝试在 config.json 中设置:{ "baseUrl": "http://localhost:3001" //also tried with 8000 port } 并在 tsconfig.json 中设置:"baseUrl" : "localhost:3001" // also tried with 8000 port跨度>
猜你喜欢
  • 2019-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-21
  • 2016-06-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多