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