laravel - 错误 : Request failed with status code 500 Laravel/Vue

标签 laravel vue.js internal-server-error

这是控制台中的完整错误消息:

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 Controller 将它们插入 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;
                });
            }

我的 Controller :

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 Controller 上。 所以检查表的每个字段名。检查表中是否有任何列名 first。如果存在,请检查您从前端获得了什么?检查您是否获得了有效数据,因此在 Controller 开始时检查它。

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]);

关于laravel - 错误 : Request failed with status code 500 Laravel/Vue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58164633/

相关文章:

php - Laravel 5.2 在 Azure 上出现奇怪的错误

php - 如何在 Laravel/PHP 中将子项作为 json 从数据库插入父项?

css - Vuetify v-list-item 悬停时样式更改

javascript - Firebase 在渲染之前在 Nuxtjs 上获取

php - 连接到我的数据库时出现以下错误

sql - 查询中的 Laravel concat(where 条件)

php - Laravel 5 环境配置数组?

javascript - VueJS 路由器 : $route is not defined

c# - HttpClient InternalServerError 500 - 适用于 postman ,但不适用于代码

timeout - 如果 Java 进程在 Websphere 上运行超过 1 分钟,应用程序将响应 500