Laravel - Jquery 动态下拉菜单给出错误 500 内部服务器错误
Laravel - Jquery Dynamic Drop Down gives error 500 internal server error
我正在尝试根据第一个保管箱中 selected 的值获取第二个保管箱中的记录。我在第一个保管箱中的值正在加载,但是当我 select 一个随机值时,我在第二个值中没有得到任何值。我在浏览器中检查了我的控制台,我收到错误显示(500 内部服务器错误)。
然而,当它在本地主机上运行时,它工作得非常好。此错误发生 仅当 运行 在实时服务器上
我有一个主边栏文件,其中包含此表格。 ajax 代码是
$(document).ready(function(){
$('.dynamic').change(function(){
if($(this).val() != '')
{
var select = $(this).attr("id");
var value = $(this).val();
var dependent = $(this).data('dependent');
var _token = $('input[name="_token"]').val();
$.ajax({
url:"{{ route('pagescontroller.fetch') }}",
method:"POST",
data:{select:select, value:value, _token:_token, dependent:dependent},
success:function(result)
{
$('#'+dependent).html(result);
}
})
}
});
)};
我在控制器中的代码:-
public function index(){
$pc = $this->getPostcodes();
$cl = $this->carFetch();
return view('home')->with('postcodes', $pc)->with('carLists', $cl);
}
public function getPostcodes(){
$postcodes = DB::table('postcodes')
->get();
return $postcodes;
}
public function carFetch(){
$carLists = DB::table('carlists')
->groupBy('Make')
->get();
return $carLists;
}
function fetch(Request $request)
{
$select = $request->get('select');
$value = $request->get('value');
$dependent = $request->get('dependent');
$data = DB::table('carLists')
->where($select, $value)
->groupBy($dependent)
->get();
$output = '<option value="">Select '.ucfirst($dependent).'</option>';
foreach($data as $row)
{
$output .= '<option value="'.$row->$dependent.'">'.$row->$dependent.'</option>';
}
echo $output;
}
我的路线:-
Route::get('/', 'PagesController@index')
Route::post('sidebar/fetch', 'PagesController@fetch')->name('pagescontroller.fetch');
不确定它在本地主机上的工作方式,而不是在实时服务器上的工作方式。
错误截图:-
请检查这个
DB::table('carlists')
(or)
DB::table('carLists')
在 carFetch 中,您正在使用 table 名称作为 carlists
但在 fetch 中你使用 table 名称作为 carLists
Linux 服务器区分大小写:)
$request->get('select');
到
$request->input('select');
您需要检查 .htaccess 文件。任何语法错误都会导致显示 500 Internal Server Error 消息。要确认 .htaccess 配置错误是否是 500 内部服务器错误的原因,请暂时删除或重命名 .htaccess 文件并检查。
500 错误意味着您的控制器有错误,将其放入您的 JavaScript 代码中:
...
success:function(result)
{
$('#'+dependent).html(result);
},
error: function(result) {
console.log(result);
}
...
因此,您可以在控制台中阅读错误并post评论中的图片进行更正。
我正在尝试根据第一个保管箱中 selected 的值获取第二个保管箱中的记录。我在第一个保管箱中的值正在加载,但是当我 select 一个随机值时,我在第二个值中没有得到任何值。我在浏览器中检查了我的控制台,我收到错误显示(500 内部服务器错误)。
然而,当它在本地主机上运行时,它工作得非常好。此错误发生 仅当 运行 在实时服务器上
我有一个主边栏文件,其中包含此表格。 ajax 代码是
$(document).ready(function(){
$('.dynamic').change(function(){
if($(this).val() != '')
{
var select = $(this).attr("id");
var value = $(this).val();
var dependent = $(this).data('dependent');
var _token = $('input[name="_token"]').val();
$.ajax({
url:"{{ route('pagescontroller.fetch') }}",
method:"POST",
data:{select:select, value:value, _token:_token, dependent:dependent},
success:function(result)
{
$('#'+dependent).html(result);
}
})
}
});
)};
我在控制器中的代码:-
public function index(){
$pc = $this->getPostcodes();
$cl = $this->carFetch();
return view('home')->with('postcodes', $pc)->with('carLists', $cl);
}
public function getPostcodes(){
$postcodes = DB::table('postcodes')
->get();
return $postcodes;
}
public function carFetch(){
$carLists = DB::table('carlists')
->groupBy('Make')
->get();
return $carLists;
}
function fetch(Request $request)
{
$select = $request->get('select');
$value = $request->get('value');
$dependent = $request->get('dependent');
$data = DB::table('carLists')
->where($select, $value)
->groupBy($dependent)
->get();
$output = '<option value="">Select '.ucfirst($dependent).'</option>';
foreach($data as $row)
{
$output .= '<option value="'.$row->$dependent.'">'.$row->$dependent.'</option>';
}
echo $output;
}
我的路线:-
Route::get('/', 'PagesController@index')
Route::post('sidebar/fetch', 'PagesController@fetch')->name('pagescontroller.fetch');
不确定它在本地主机上的工作方式,而不是在实时服务器上的工作方式。
错误截图:-
请检查这个
DB::table('carlists')
(or)
DB::table('carLists')
在 carFetch 中,您正在使用 table 名称作为 carlists
但在 fetch 中你使用 table 名称作为 carLists
Linux 服务器区分大小写:)
$request->get('select');
到
$request->input('select');
您需要检查 .htaccess 文件。任何语法错误都会导致显示 500 Internal Server Error 消息。要确认 .htaccess 配置错误是否是 500 内部服务器错误的原因,请暂时删除或重命名 .htaccess 文件并检查。
500 错误意味着您的控制器有错误,将其放入您的 JavaScript 代码中:
...
success:function(result)
{
$('#'+dependent).html(result);
},
error: function(result) {
console.log(result);
}
...
因此,您可以在控制台中阅读错误并post评论中的图片进行更正。