我正在使用带有响应前端的laravel api后端..我正尝试使用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列不能为null) 并且由于请求剂量未到达而发生此错误
我在邮递员上尝试了这个api,它起作用了
我该如何解决?
答案 0 :(得分:0)
写{ user }
是{ user: user }
的简写,所以只需发送user
作为您的数据:
axios.post(`http://46.185.162.125/api/add_product`, user)
.then(res => {
console.log(res);
})