Php 来自AJAX的内部服务器错误

Php 来自AJAX的内部服务器错误,php,ajax,laravel,Php,Ajax,Laravel,我有一个ul,它由lis组成,它们是可排序的,即拖放的,我把ID放在一个数组中,试图通过AJAX发送给我的控制器,但它不断地说内部服务器错误请问有什么问题 这是我的HTML @if(isset($images_ext)&& !empty($images_ext)) <ul class="reorder1 row"> @foreach ($images_ext as $image)

我有一个
ul
,它由
li
s组成,它们是可排序的,即拖放的,我把ID放在一个数组中,试图通过AJAX发送给我的控制器,但它不断地说
内部服务器错误
请问有什么问题

这是我的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
这是我的路线

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');

}

问题在于json_encode()函数调用。你用错了。 如果要将状态发送回客户端,请这样做。
替换

return json_encode('status', 'Image order saved');
使用此代码

$response = ['status' => 'Image order saved'];
return json_encode($response);

这是因为您的后端代码需要一个数组,而您是以字符串形式发送它的。要更好地了解问题,请打开网络选项卡,清除它,然后拨打电话。您将能够看到后端抛出了什么错误。OK@yousaf如果我应该如何发送它,请给出一个示例数据:{ids:+h+“”},如果变量
h
包含数组,那么为什么要用“”包装它。就像数据一样:{ids:h}仍然不工作@yousaf检查您的网络选项卡并将数据参数粘贴到这里。发送到后端的参数(当您选择调用时,将在网络内部的header选项卡中)
$response = ['status' => 'Image order saved'];
return json_encode($response);