ajax Laravel 8 jquery-3.4.1.js:9837 删除 http://agenda.devetapia.cl/citas/delete/1 500(内部服务器错误)

ajax Laravel 8 jquery-3.4.1.js:9837 DELETE http://agenda.devetapia.cl/citas/delete/1 500 (Internal Server Error)

我正在使用 fullcalendar.io 制作应用程序,我需要删除 table 中的约会。我正在使用 Laravel 8。我正在使用 ajax 与服务器通信,但是当我调用 delete 方法时它显示错误 500

我的控制器:

public function destroy(Cita $cita_id)
{
    $cita = Cita::find($cita_id);
    
    $cita->delete();
    
    return back()->with('succes', 'Cita eliminada correctamente');

}

我的路线:

Route::delete('/citas/delete/{cita}', [App\Http\Controllers\CitaController::class, 'destroy'])->name('citas.delete');

控制台给了我这个:

jquery-3.4.1.js:9837 DELETE http://agenda.devetapia.cl/citas/delete/1 500 (Internal Server Error)
send @ jquery-3.4.1.js:9837
ajax @ jquery-3.4.1.js:9434
(anonymous) @ agenda.js:207
dispatch @ jquery-3.4.1.js:5237
elemData.handle @ jquery-3.4.1.js:5044

我的javascript

            $('#btnEliminar').click(function(){
              
              if (!confirm("Está seguro de eliminar la cita?")) {
         
              }
              else{ // eliminar

                let urldelete = "http://agenda.devetapia.cl/citas/delete/"+id;
                $.ajaxSetup({
                  headers: {
                          'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                      }
                  });
            
                $.ajax({
                  type: "DELETE",
                  url : urldelete,
               
                  success: function (data) {
                      console.log("exito")
                  },
                  error: function (data) {
                      console.log('Error:', data);
                  }
                  
                });
              
              }

我无法确定我做错了什么。

在您的控制器上,您可以尝试删除:

return back()->with('succes', 'Cita eliminada correctamente');

而是尝试将其更改为:

return response()->json(['status' => 'success']);

然后在您的 ajax 电话中,尝试输入:

success: function (data) {
  if (data.status == 'success'){
     location.reload();
  }
};

页面应刷新。

您可以尝试根据您想要的例程更改 location.reload() 代码。