【发布时间】:2020-02-06 01:28:26
【问题描述】:
关于我的上下文,我一直在尝试本教程 (https://www.youtube.com/watch?time_continue=7&v=D4ny-CboZC0),但我收到了这个错误:
POST http://127.0.0.1:8000/transactions/fetch500(内部服务器错误)
create.blade.php
@extends('layouts.app')
@section('title', 'New Transaction')
@section('content')
<form action="/transactions" method="POST">
<div class="row">
<label>Item Name</label>
<input type="text" name="item_name" id="item_name" class="form-control input-lg" placeholder="Item Name">
<div id="itemList"></div>
{{ csrf_field()}}
<label>Quantity</label>
<input type="text" name="quantity[]" value="" placeholder="Quantity">
{{ $errors->first('quantity')}}
</div>
<button type="submit" class="btn btn-primary">Complete Order</button>
@csrf
</form>
<script type="text/javascript">
$(document).ready(function(){
$('#item_name').keyup(function(){
var query = $(this).val();
if(query!=''){
var _token = $('input[name="_token"]').val();
console.log(_token);
$.ajax({
url: "{{route('autocomplete.fetch')}}",
method: "POST",
data: {query: query, _token:_token},
success:function(data){
$('#itemList').fadeIn();
$('#itemList').html(data);
}
})
}
});
})
</script>
@endsection
TransactionController.php中的获取函数
public function fetch(Request $request)
{
if($request->get('query')) {
$query= $request->get('query');
$data = DB::table('items')
->where('item_name', 'LIKE', '%{$query}%')
->get();
}
$output = '<ul class="dropdown-menu" style="display:block; position:relative">';
foreach ($data as $row) {
$output.= '<li> <a href="#">' .$row->item_name.'</a></li>';
}
$output .= '</ul>';
echo $output;
}
web.php
Route::resource('transactions', 'TransactionController');
Route::post('/transactions/fetch', 'TransactionController@fetch')->name('autocomplete.fetch');
请帮助我找出问题所在。我尝试了很多网上看到的方法,但都没有奏效。
提前致谢!
【问题讨论】:
-
日志中的错误是什么?您可以在
storage/logs中找到它 -
请转到您的网络。您将在那里找到错误详细信息。
-
如果你得到一个 500 错误,很有可能你的 Laravel
storage/logs没有得到这个错误。另请检查网络服务器错误日志。 -
@ChinLeung 感谢您的帮助。我可以通过并修复它。但是现在我可以看到 $data 变量是空的。该查询未获取任何值。我已经交叉检查了表名和列名。知道为什么它没有得到任何数据吗?
-
我认为您需要将引号
'%{$query}%'更改为"%{$query}%",因为单引号不允许您在其中使用变量 stackoverflow.com/a/3446286/8068675
标签: javascript php ajax laravel laravel-5.8