Ajaxで非同期処理をしようとしたら、500 (Internal Server Error)のエラーが出る

実現したいこと

Ajaxからcontrollerへ送った後、controllerから値を返して非同期処理をさせたい

発生している問題・分からないこと

コンソールに「500 (Internal Server Error)」のエラーが出る

エラーメッセージ

error

1500 (Internal Server Error)

該当のソースコード

Jquery

1$(function() { 2 $('.search-btn').click(function(event) { 3 4 $(function(){ 5 var product_name = $('#keyword').val(); 6 var company = $('#company').val(); 7 var minPrice = $('#minPrice').val(); 8 var maxPrice = $('#maxPrice').val(); 9 var minStock = $('#minStock').val(); 10 var maxStock = $('#maxStock').val(); 11 // console.log(product_name); 12 // console.log(company); 13 // console.log(minPrice); 14 // console.log(maxPrice); 15 // console.log(minStock); 16 // console.log(maxStock); 17 $.ajax({ 18 headers: { 19 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 20 }, 21 url: 'search', 22 type: 'GET', 23 dataType: 'json', 24 data: { 25 keyword: product_name, 26 company: company, 27 minPrice: minPrice, 28 maxPrice: maxPrice, 29 minStock: minStock, 30 maxStock: maxStock 31 } 32 33 }).done(function(data){ 34 /* 通信成功時 */ 35 console.log('成功'); 36 37 }).fail(function(data){ 38 /* 通信失敗時 */ 39 console.log('失敗'); 40 }) 41 }); 42 }); 43}); 44

php

1public function search(Request $request,Product $product){2 $companies=Company::all();3 $query = Product::query();4 echo "aaaaa";5 6 7 $keyword = $request->input('keyword');8 $company = $request->input('company');9 $minPrice = $request->input('minPrice');10 $maxPrice = $request->input('maxPrice');11 $minStock = $request->input('minStock');12 $maxStock = $request->input('maxStock');13 14 // dd($query);15 16 if($keyword != null){17 echo "bbb";18 $query->where('product_name', 'LIKE', "%{$keyword}%");19 20 }21 if ($company != null){22 $query->where('company_id',$request->company);23 }24 25 if($minPrice != null){26 $query->where('price', '>=', $minPrice);27 }28 29 if($maxPrice != null){30 $query->where('price', '<=', $maxPrice);31 }32 33 if($minStock != null){34 $query->where('stock', '>=', $minStock);35 }36 37 if($maxStock != null){38 $query->where('stock', '<=', $maxStock);39 }40 41 $products = $query->sortable()->paginate(7);42 43 dd($products);44 45 return response()->json(['products' => $products,'companies'=>$companies]);46 }

試したこと・調べたこと

上記の詳細・結果

dd()を使って調べてみた結果、if文は動いているようで、返り値をおくれていないようでした。
Json出遅れていないのかと思い、記述方法を調べましたが、その通りにしても動きません。

補足

特になし

コメントを投稿

0 コメント