Laravel реагирует API: запрос не прибыл - PullRequest
0 голосов
/ 01 июля 2018

Я использую Laravel Api Backend с веб-интерфейсом реагирования .. Я пытаюсь опубликовать данные с помощью Axios, но запрос дозы не поступил .. Вот мой код в веб-интерфейсе

import React from 'react';
import axios from 'axios';

export default class PersonList extends React.Component {
 state = {
   product_name: '',

 }

 handleChange = event => {
   this.setState({ product_name: event.target.value });

 }

 handleSubmit = event => {
   event.preventDefault();

   const user = {
     product_name: this.state.product_name,



   };

   axios.post(`http://46.185.162.125/api/add_product`, { user })
     .then(res => {
       console.log(res);
       console.log(res.data);
     })
     .catch(error => {
   console.log(error.response)
});
 }

 render() {
   return (
     <div>
       <form onSubmit={this.handleSubmit}>
         <label>
           Name:
           <input type="text" name="product_name" onChange={this.handleChange} />
         </label>

         <button type="submit">Add</button>
       </form>
     </div>
   )
 }
}

и это код внутреннего контроллера

public function addProduct(Request $request)
{
        $new_product = new Product;
        $new_product->name = $request->product_name;
        $new_product->save();

        return 'success';
 }

но я получаю ошибку 500 (столбец product_name не может быть пустым) и эта ошибка произошла потому, что доза запроса не поступила

Я пробовал этот API на почтальоне, и он работал

Как я могу решить это?

1 Ответ

0 голосов
/ 01 июля 2018

Запись { user } является сокращением для { user: user }, поэтому вместо этого просто отправьте user в качестве данных:

axios.post(`http://46.185.162.125/api/add_product`, user)
  .then(res => {
    console.log(res);
  })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...