Внутренняя ошибка сервера от AJAX - PullRequest
0 голосов
/ 12 июня 2018

У меня есть ul, который состоит из li s, которые можно сортировать, т. Е. Перетаскивать и сбрасывать. Я помещаю идентификаторы в массив и пытаюсь отправить их на мой контроллер через AJAX, но он продолжает говорить Internal server error, пожалуйста, чтоможет быть проблема

Это мой HTML

@if(isset($images_ext)&& !empty($images_ext))
      <ul class="reorder1 row">
                                @foreach ($images_ext as $image)
                                    <li class="img-box" data-src="{{$image->filename}}" id="{{$image->id}}">
                                        <div class="img-w" style="background-image: url('{{$image->filename}}')">
                                            {{-- <a href=""> <img class="mb-2 uploaded-photos " src="{{$image->filename}}" alt=""></a>!--}}
                                        </div>
                                        <span style="color: #333333;position: relative;width: 100%;text-align: justify;
         display: inline;">{{$image->description}} <i class="fa fa-upload" style="margin-left: 10px; color:#333333;"></i></span>
                                    </li>
                                @endforeach
                            </ul>
                        @endif

Это мой код ajax

$.ajax({
                        headers: {
                            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                        },
                        type: "POST",
                       url: "{{ action('ImageController@update') }}",
                        data: {ids: " " + h + ""},
                        dataType: 'json',
                        success: function () {
                            console.log(h);
                        }
                    });

Это мой маршрут

Route::post('/settings/orderphotos', 'ImageController@update')->name('settings.updatephotos');

Это мой контроллер

 public function update(Request $request){
    $data = [];
      $count = 1;
        // Get images id and generate ids array
        $id_array = $request->ids;
        $data["success"]= $id_array;
     //   dd($id_array);
        foreach ($id_array as $id) {
            $image = Image::findOrFail($id);
            $image->update([
                'image_order' => $count
            ]);
            $count++;



        }
    return json_encode('status', 'Image order saved');

}

1 Ответ

0 голосов
/ 12 июня 2018

Проблема в вызове функции json_encode ().Вы используете это неправильно.Если вы хотите отправить статус обратно клиенту, сделайте это следующим образом.
Замените

return json_encode('status', 'Image order saved');

на этот код

$response = ['status' => 'Image order saved'];
return json_encode($response);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...