Пытался обновить количество товаров в корзине, используя метод исправления ax ios: Ошибка: запрос завершился неудачно с кодом состояния 405 - PullRequest
0 голосов
/ 11 июля 2020

Я хочу обновить количество товаров в корзине, используя ax ios метод исправления , поэтому я хочу сначала протестировать его в консоли браузера, но я продолжаю получать эту ошибку.

Ошибка

Ошибка запроса с кодом состояния 405.

Маршрут

Route::patch('/cart/{product}', 'CartController@update')->name('cart.update');

Контроллер тележки

public function update(Request $request, $id)
{
    return $request->all();
}

HTML

 <div>
     <select class="quantity" data-id=" {{ $item->rowId }} ">
          <option value="">1</option>
          <option value="">2</option>
          <option value="">3</option>
          <option value="">4</option>
          <option value="">5</option>
     </select>
  </div>

Javascript

@section('extra-js')

<script src=" {{ asset('js/app.js') }} "></script>

<script>
 (function(){
 const classname = document.querySelectorAll('.quantity')

 Array.from(classname).forEach(function(element) {

 element.addEventListener('change', function() {

            const id = element.getAttribute('data-id')

                    axios.patch(`/cart/${id}`, { 

                    quantity: this.value
                    })
                    .then(function (response) {

                    console.log(response);
                    })
                    .catch(function(error) {
                         
                    console.log(error);
                    });

              })

        })
    })();

</script>

@endsection

Ответы [ 2 ]

0 голосов
/ 11 июля 2020

как @KurtFriars сказал, что идентификатор равен нулю или не определен. это потому, что вы используете цитаты вместо обратных кавычек, поэтому используйте код @KurtFriars или это:

axios.patch(`/cart/${id}`, {...}) // fill your code
0 голосов
/ 11 июля 2020

Я думаю, ваша проблема связана с URL-адресом, который вы вызываете с помощью патча:

axios.patch('/cart/${id}',

Я предполагаю, что у вас есть идентификатор $ id в вашем файле лезвия и вы хотите:

axios.patch('/cart/{{ $id }}',

ИЛИ

Вам нужен идентификатор из js:

axios.patch('/cart/'+id,

ИЛИ

Ваш синтаксис работает, но идентификатор равен нулю или не определен.

...