Error: Request failed with status code 500 Laravel/Vue
Error: Request failed with status code 500 Laravel/Vue
这是控制台中的完整错误消息:
POST http://127.0.0.1:8000/formSubmit 500 (Internal Server Error)
dispatchXhrRequest @ app.js:279
xhrAdapter @ app.js:118
dispatchRequest @ app.js:726
Promise.then (async)
request @ app.js:528
Axios.<computed> @ app.js:553
wrap @ app.js:1071
formSubmit @ app.js:1896
invokeWithErrorHandling @ app.js:25465
invoker @ app.js:25790
original._wrapper @ app.js:31143
我正在尝试从 VueJs 表单获取数据并通过 laravel 控制器将它们插入 MySql 数据库
我的 VueJs 提交方法:
methods: {
formSubmit(e) {
e.preventDefault();
let currentObj = this;
axios.post('/formSubmit', {
first: this.first,
last: this.last,
phone: this.phone,
})
.then(function (response) {
currentObj.output = response.data;
})
.catch(function (error) {
currentObj.output = error;
});
}
我的控制器:
class StudentsController extends Controller
{
public function formSubmit(Request $request)
{
$validatedData = $request->validate([
'first' => 'required|string',
'last' => 'required|string',
'phone' => 'required',
]);
$s = new Student();
$s->first = $validatedData->first;
$s->last = $validatedData->last;
$s->phone = $validatedData->phone;
$s->save();
return response()->json($validatedData);
}
}
这只是一个演示项目,所以如果有其他方法可以提交而不会出现此错误,那也可以。
谢谢
500 服务器错误意味着问题出在您的 laravel 控制器上。
所以检查table的每个字段名。检查 table 中是否有任何列名 first。如果存在,请检查您从前端获得了什么?检查您是否获得了有效数据,因此在控制器开始时检查它。
return $request->first
如果它也是正确的,那么尝试直接从请求中保存数据
$this->validate($request,[
'first' => 'required|string',
'last' => 'required|string',
'phone' => 'required',
]);
$s = new Student();
$s->first = $request->first;
$s->last = $request->last;
$s->phone = $request->phone;
$s->save();
return response()->json(['result'=>$s]);
这是控制台中的完整错误消息:
POST http://127.0.0.1:8000/formSubmit 500 (Internal Server Error)
dispatchXhrRequest @ app.js:279
xhrAdapter @ app.js:118
dispatchRequest @ app.js:726
Promise.then (async)
request @ app.js:528
Axios.<computed> @ app.js:553
wrap @ app.js:1071
formSubmit @ app.js:1896
invokeWithErrorHandling @ app.js:25465
invoker @ app.js:25790
original._wrapper @ app.js:31143
我正在尝试从 VueJs 表单获取数据并通过 laravel 控制器将它们插入 MySql 数据库
我的 VueJs 提交方法:
methods: {
formSubmit(e) {
e.preventDefault();
let currentObj = this;
axios.post('/formSubmit', {
first: this.first,
last: this.last,
phone: this.phone,
})
.then(function (response) {
currentObj.output = response.data;
})
.catch(function (error) {
currentObj.output = error;
});
}
我的控制器:
class StudentsController extends Controller
{
public function formSubmit(Request $request)
{
$validatedData = $request->validate([
'first' => 'required|string',
'last' => 'required|string',
'phone' => 'required',
]);
$s = new Student();
$s->first = $validatedData->first;
$s->last = $validatedData->last;
$s->phone = $validatedData->phone;
$s->save();
return response()->json($validatedData);
}
}
这只是一个演示项目,所以如果有其他方法可以提交而不会出现此错误,那也可以。
谢谢
500 服务器错误意味着问题出在您的 laravel 控制器上。 所以检查table的每个字段名。检查 table 中是否有任何列名 first。如果存在,请检查您从前端获得了什么?检查您是否获得了有效数据,因此在控制器开始时检查它。
return $request->first
如果它也是正确的,那么尝试直接从请求中保存数据
$this->validate($request,[
'first' => 'required|string',
'last' => 'required|string',
'phone' => 'required',
]);
$s = new Student();
$s->first = $request->first;
$s->last = $request->last;
$s->phone = $request->phone;
$s->save();
return response()->json(['result'=>$s]);