在 Laravel 5.2 中通过 RESTful 资源控制器使用 jQuery Ajax Post 方法将数据存储在数据库中
Posted
技术标签:
【中文标题】在 Laravel 5.2 中通过 RESTful 资源控制器使用 jQuery Ajax Post 方法将数据存储在数据库中【英文标题】:Storing data in datebase using jQuery Ajax Post mathod via RESTful Resource Controller in Laravel 5.2 【发布时间】:2016-05-16 09:38:13 【问题描述】:我是 Laravel 的新手。我正在尝试使用 Jquery Ajax(使用 POST 方法)将一些数据存储在表单中。我正在使用 RESTful 资源控制器来处理存储请求。当使用带有 POST 方法的表单时,可以将路由用作/student/store
。但是我们如何在此方法中路由到控制器中的 store 方法。简化代码如下。需要帮助。
("#btnSave").click(function()
console.log("btnSave");
$.post("/student",
name: $("#studentname").val(),
age: $("#studentage").val(),
marks: $("#marks").val()
,function(data, status)
alert("Data: " + data + "\nStatus: " + status);
);
);
【问题讨论】:
【参考方案1】:有了资源路由,
Route::resource('student', 'StudentController');
POST
请求默认路由到store()
方法。您可以通过在控制台中执行以下操作来查看 url:
php artisan route:list | grep student
如果您手动将表单字段添加到 ajax 请求中,您会忘记 CSRF 令牌。如果隐藏的 _token
字段丢失,请在表单中添加以下内容:
csrf_field()
并更新您的 ajax 请求以反映新的 _token
字段:
$.post("/student",
name: $("#studentname").val(),
age: $("#studentage").val(),
marks: $("#marks").val(),
'_token': $('input[name="_token"]').val()
【讨论】:
以上是关于在 Laravel 5.2 中通过 RESTful 资源控制器使用 jQuery Ajax Post 方法将数据存储在数据库中的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Artisan 命令 (PHP) 在 Laravel 5.2 中创建 RESTful 资源控制器
在 Spring Boot 中通过 RESTful Web 服务生成 JSON?