>source

Ajax가있는 선택 상자를 사용하여 제품을 정렬하고 싶습니다. 그러나 제품이 표시되지 않고 고치는 방법을 모르겠습니다. 나는 그것이 URL 문제 일 수 있다고 생각하지만, 나는 모른다. 여기 내 전체 code가 있습니다.

view.

<form name="sortProducts" id="sortProducts"> <input type="hidden" name="url" id="url" value="{{ route('men') }}"> <select id="sort" name="sort">    <option value="product_relevance" @if (request()->sort== "product_relevance") selected @endif>Relevance</option>    <option value="product_price_low_high" @if (request()->sort== "product_price_low_high") selected @endif>Price: Low to High</option>    <option value="product_price_high_low" @if (request()->sort== "product_price_high_low") selected @endif>Price: High to Low</option>    <option value="product_latest" @if (request()->sort== "product_latest") selected @endif>Latest Arrivals</option> </select></form><div class="filter_products col-9">  <--list products --></div>

스크립트

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>$("#sort").on('change', function(){
 var sort= $(this).val();
 var url= $('#url').val()
 $.ajax({
   url: url,
   method: "post",
   data: {sort:sort, url:url},
   success: function(data){
   $('.filter_products').html(data);
  }
 })
});

컨트롤러

if($request->ajax()){
  $data= $request->all;
  $products= new Product();
  $products= $products->where('gender_id', '=', 1);
  //sorting product
  if ($data['sort']== "product_price_low_high") {
      $products->orderBy('productprice','asc');
  } elseif ($data['sort']== "product_price_high_low") {
      $products->orderBy('productprice','desc');
  } elseif ($data['sort']== "product_latest") {
      $products->orderBy('products.id','desc');
  } elseif ($data['sort']== "product_relevance") {
      $products;
  }
   return view('menpage/men', compact('products'));
}

데이터가있는 것을 확인 했습니까?

Swati2021-06-18 06:23:00

죄송 합니다만 그것을 확인하는 방법?

claudia2021-06-18 06:23:35

사용 : console.log (데이터) ... 브라우저 콘솔 내부에 결과가 표시됩니다.

Swati2021-06-18 06:24:58

ive는 시도했고 게시물 http://127.0.0.1:8000/MEN 405 (허용되지 않음)

claudia2021-06-18 06:36:10

컨트롤러가 POST 요청을 지원하는지 확인하십시오. 또한 POST 요청이 있으므로 CSRF 토큰을 추가 해야하는지 확인하십시오.

Swati2021-06-18 06:44:01
  • 이전 java : 이름을 설정하는 동안 클래스 캐스트 예외 [복제]
  • 다음 Pymongo : 문서는 Dict의 인스턴스 여야합니다