【发布时间】:2017-04-12 13:08:18
【问题描述】:
我有一个存储在会话中的购物车,我想刷新会话而不重新加载页面 我试过这个: 查看:
<a href="#" id="product" data-id="{{ $product->id }}" class="item_add single-item hvr-outline-out button2">Add to cart</a>
<script>
$(document).ready(function() {
$('#product').click(function(event) {
event.preventDefault();
let url = "{{ route('add-to-cart') }}";
let id = $(this).data('id');
$.ajax({
url: url,
type: 'POST',
data: {product_id: id, _token: "{{ Session::token() }}"}
})
.done(function() {
console.log("success");
})
.fail(function() {
console.log("error");
})
});
});
路线:
Route::post('/add-to-cart', 'ProductsController@addToCart')->name('add-to-cart');
产品控制器:
public function addToCart(Request $request)
{
if ($request::ajax()) {
$id = $request->product_id;
$product = Product::find($id);
if (Session::has('products')) {
$products = Session::get('products');
$products[] = $product;
Session::put('products', $products);
}
else {
$products = array($product);
Session::put('products', $products);
}
return response()->json();
}
}
当我点击添加到购物车时,它会在控制台中显示 500(内部服务器错误)
【问题讨论】:
-
检查你的日志文件,里面有提示。
-
@aynber 在哪里可以找到那个文件?
-
存储/logs/laravel.log
-
它在您的存储文件夹中。
app/storage/logs用于 4.2,/storage/logs用于 5。 -
@aynber 这是最后两条日志:
#38 /home/dlydyv9i/public_html/testing/case-shop/index.php(54): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request)) #39 {main}