AJAX调用和Laravel 5.4控制器平衡

时间:2017-10-16 16:25:19

标签: php jquery ajax laravel

我有一个像这样的控制器 -

public function imagedelete($id) {
$image = imagesforpeople::find($id);
        $image->delete();
        return back();
        }

在这个控制器中,我调用return back(),在删除该图像时刷新页面。我只是不想刷新页面,但我希望保持在同一页面,但图像将被删除,并且它会实时更新。所以,我想在我的控制器中调用ajax这样的东西

public function imagedelete($id) {
$image = imagesforpeople::find($id);
        $image->delete();
        call ajax view();
        }

我的路线是这样的

Route::delete('/profile/people/image/{id}','Profilepagecontroller@imagedelete');

如何为此路线构建我的ajax调用?

$(document).ready(function() {
      $.ajax({
        url : "/profile/people/image/{id}",
        dataType: "text",
        success : function (data) {
             }
          }); 

任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:-2)

像这样改变你的路线

Route::post('delete-photo', 'Profilepagecontroller@imagedelete')->name('deletephoto');

更改控制器功能

public function imagedelete(Request $request) {
        $id=$request->image_id;
        $image = imagesforpeople::find($id);
        $image->delete();
        $data['success']=true;
        return response()->json($data);
        }

你的ajax代码将是这样的

 $(document).ready(function() {
          $.ajax({
            type: 'POST',
            url : '{{route('deletephoto')}}',
            data: {
              image_id: '{id}' ,
              _token: '{{csrf_token()}}'                         
                    },
     success : function (data) {
     if (data.success == true) {
            console.log('image deleted');
                  }}
              }); });