由于您使用的是 jquery,您可以使用 jquery 的 ajax 方法将变量或数据发送到 laravel 上的控制器。无论如何,请务必阅读 laravel 文档中的表单方法欺骗,check it out here.
Jquery's ajax documentation goes here.
它的外观如下:
function usersManagementAjax(requestType, url, userData, modalSelector, modalFailedSelector){
modalSelector.modal('hide');
$.ajax({
type: requestType,
url: url,
data: userData,
dataType: "json",
success: function(data){
modalSuccess.modal('show');
},
error: function(data){
if(data.responseJSON.errors.contactNumber){
contactGrp.removeClass('has-success');
contactGrp.addClass('has-error');
contactGrpError.removeClass('hidden');
contactError = true;
contactErrorText.text(data.responseJSON.errors.contactNumber[0]);
isValid();
}
if(data.responseJSON.errors.email){
emailGrp.removeClass('has-success');
emailGrp.addClass('has-error');
emailGrpError.removeClass('hidden');
emailError = true;
emailErrorText.text(data.responseJSON.errors.email[0]);
isValid();
}
modalFailedSelector.modal('show');
}
}); }
控制器中的函数如下所示:
public function update(Request $request)
{
$userId = $request->id;
$updateRules = [
'name' => 'required|string|max:255',
'email' => [
'required',
'string',
'email',
'max:120',
Rule::unique('users')->ignore($userId)
],
'college' => 'required|string|min:1|max:1',
'contactNumber' => [
'required',
'string',
'min:11',
'max:11',
Rule::unique('users')->ignore($userId)
]
];
$validation = Validator::make(Input::all(), $updateRules);
if($validation->fails()){
return Response::json(
array('errors' => $validation->getMessageBag()->toArray()), 404);
}
else{
$user = User::find($userId);
$user->name = $request->name;
if(Auth::user()->role->role != "Admin"){
$user->roleID = Role::$defaultRoleId;
}
else{
$user->roleID = $request->role;
}
$user->collegeID = $request->college;
$user->contactNumber = $request->contactNumber;
$user->email = $request->email;
$user->save();
return response()->json($user);
}
}
请注意,这只是一个代码示例,我只是想让您了解如何解决这个问题。这些是我当前项目中的一些代码 sn-ps。 p>
编辑:我忘了提到要在 laravel 项目上工作的 ajax 请求,您必须为每个 ajax 请求包含一个 X-CSRF-TOKEN。 (或者你可以简单地删除 VerifyCsrfToken 中间件)关于这个的链接去here。