0

我试图通过单击按钮发送 Ajax 请求,但我似乎无法让控制器返回响应。响应为空;可能是什么问题?

看法

<a href="#" onclick="addtoCart(1, 'test', 2, 8900)"
   class="btn essence-btn">Add to Cart</a>
<div hidden id="url" data-url="{{ url('/cart/add') }}"></div>
$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

function addtoCart(id, name, quantity, price) {
    request = $.ajax({
        url: "/cart/add",
        method: 'POST',
        data:
            {
                id: id,
                name: name,
                quantity: quantity,
                price: price
            },
        success: function (data) {
            console.log(data);
        },
        error: function (data) {
            console.log('Error:', data);
        }
    });
}

路线

Route::group(['prefix' => 'cart'], function () {
    Route::post('/add', 'CartController@add');
});

控制器

public function add(Request $request) {
     return Response::json($request->all());
}
4

1 回答 1

0

修改您的代码,如下所示。我想这会对你有所帮助。

这是路线

Route::group(['prefix' => 'cart'], function (){
   Route::post('/add', 'CartController@add')->name('add-cart');
});

这是脚本

function addtoCart(id, name, quantity, price) {
  $.post('{{ route('add-cart') }}', {id:id, name:name, quantity:quantity, price:price}, 
    function (data) {
     console.log(data);
  }
}
于 2019-10-16T17:06:57.007 回答