当我尝试使用Laravel中的ajax进行发布时,我收到419错误。
当我尝试使用Laravel中的ajax进行发布时,我收到419错误。
我创建了一个表单,尝试在提交时将数据发送到数据库而不进行任何重定向,这是我目前的代码:\nJquery:\n
jQuery(function() { $("#save").on("submit",function(event){ var formData = { name: $("#name").val(), size: $("#email").val() }; if($("#id").length != 0) formData['id'] = $("#id").val(); $.ajax({ type:"POST", headers: {'X-CSRF-TOKEN': $('input[name="_token"]').val()}, url: "/drawingSave", data: formData, dataType:"json", encode:true, }).done(function(data){ console.log(data.data['name']); //打印名称以检查是否成功 }); event.preventDefault(); }); $("[data-toggle='popover']").popover(); });
\n这是表单:\n
\n这是路由:\n
Route::post('drawingSave',[DrawingController::class,'save']);
\n这是控制器中的函数:\n
public function save(Request $request){ $data = $request->all(); // 检查绘图是否存在 if(is_null($request->id)) { $data['users_id'] = Auth::id(); $check = $this->create($data); //如果不存在,则创建新的绘图模型 } else { $check = Drawing::where('id','=',$data['id'])->update([ 'name' => $data['name'], 'canvas_size' => $data['size'] ]); //更新当前绘图 } return response()->json([ 'data' => $data ]);; }
\n我收到419错误\n编辑:我在$.ajax中添加了一行(headers: {\'X-CSRF-TOKEN\': $(\'input[name=\"_token\"]\').val()}),但现在我得到了500错误\n编辑2:我在代码中发现了一个拼写错误,现在一切正常,谢谢。