使用ajax请求从laravel中的jquery检索数据
我正在尝试使用laravel中的jQueryAjax请求检索数据。我总是在请求时收到500个内部服务器错误。我想在选择GRN no时自动加载表中的其他字段。任何有助于消除此错误的信息。我的代码如下 view-analysis.blade.php使用ajax请求从laravel中的jquery检索数据,jquery,ajax,laravel,Jquery,Ajax,Laravel,我正在尝试使用laravel中的jQueryAjax请求检索数据。我总是在请求时收到500个内部服务器错误。我想在选择GRN no时自动加载表中的其他字段。任何有助于消除此错误的信息。我的代码如下 view-analysis.blade.php <div class="col-md-6 analysis-table"> <div class="description-table-1"> <input type="hidden" nam
<div class="col-md-6 analysis-table">
<div class="description-table-1">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<u><h5>Supply - 01</h5></u>
<table id="grn_for_MC">
<tr>
<td width="40%">GRN</td>
<td>
<select name="grn-one" id="grn-one" class="input-sm dynamic" data-dependant="new-supply-data">
<option value="">Select GRN</option>
@foreach($grn_list as $grn_lists)
<option value="{{$grn_lists->id}}">{{$grn_lists->grn_no}}</option>
@endforeach
</select>
</td>
</tr>
<tr>
<td>Supply Date</td>
<td id="load-supply-date">14/02/2020</td>
</tr>
<tr>
<td>Supplier Name</td>
<td id="load-supplier">Mahesh Lowe</td>
</tr>
<tr>
<td>Quantity Supplied</td>
<td id="load-qty">10000.00kg</td>
</tr>
<tr>
<td>No of Bags</td>
<td id="load-no-of-bags">20</td>
</tr>
</table>
</div>
</div>
VeryfyCsrfToken.php
protected function tokensMatch($request){
$token = $request->ajax() ? $request->header('X-CSRF-Token') : $request->input('_token');
return $request->session()->token() == $token;
}
路线
Route::get('/getGrnData/{id}','TestController@ajax_show');
最后我找到了问题的答案。视图未更改。TestController.php&脚本已更改。我刚刚删除了TestController函数中的ajax验证,并从函数返回json响应。然后从ajax捕获数据,并将数据发送到请求的脚本 TestController.php
public function ajax_show($id)
{
if(Request::ajax()){
$grnId = Input::get("id");
return Response::json('Success',$grnId);
}
}
public function show($id)
{
$loadData = DB::table('summery')->where('id',$id)->get();
return response()->json($loadData);
}
脚本
<script>
$(document).ready(function(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
}
});
$('select#grn-one').on('change',function(e){
var selected_grn_id = $(this).children("option:selected").val();
$.ajax({
type:"GET",
dataType:"json",
url:'/getGrnData/'+selected_grn_id,
success:function(response){
console.log(response);
}
})
});
});
最后我找到了问题的答案。视图未更改。TestController.php&脚本已更改。我刚刚删除了TestController函数中的ajax验证,并从函数返回json响应。然后从ajax捕获数据,并将数据发送到请求的脚本 TestController.php
public function ajax_show($id)
{
if(Request::ajax()){
$grnId = Input::get("id");
return Response::json('Success',$grnId);
}
}
public function show($id)
{
$loadData = DB::table('summery')->where('id',$id)->get();
return response()->json($loadData);
}
脚本
<script>
$(document).ready(function(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
}
});
$('select#grn-one').on('change',function(e){
var selected_grn_id = $(this).children("option:selected").val();
$.ajax({
type:"GET",
dataType:"json",
url:'/getGrnData/'+selected_grn_id,
success:function(response){
console.log(response);
}
})
});
});
您的确切错误是什么?您可能还应该包括路由。@Qonvex620:我的错误是代码500内部服务器错误。在添加此代码部分返回响应::json$request->all;您的确切错误是什么?您可能还应该包括路由。@Qonvex620:我的错误是代码500内部服务器错误。在添加此代码部分返回响应::json$request->all;