我正在從視圖中的AJAX呼叫控制器和背部:Laravel AJAX與數據
function compareProducts() {
var productIds = [];
$('#compare-widget tbody tr').each(function(i, ele) {
productIds[i] = $(ele).data('product-id');
});
$.ajax({
url: 'product/compare',
type: 'POST',
data: {
"_token": "{{ csrf_token() }}",
productIds: productIds
},
success: function(result) {
}
});
}
這是觸發控制器:
public function compare(Request $request)
{
$products = Product::whereIn('id', $request->productIds)->get();
return view('compare', compact('products'));
}
,但它不是在瀏覽器中直接做任何事。當我打開Chrome檢查器時,我看到一個OK 200代碼,當我打開觸發鏈接時,它顯示正常,但我無法通過AJAX觸發重定向。
如果我做一個window.location.href = "compare";
我重定向到正確的頁面,但我不再有機會獲得$products
產品在'success'回調使用JavaScript刷新視圖。提交ajax tu控制器只是爲了存儲數據 – xmhafiz
我該怎麼做? – Norgul
它不這樣工作。如果你想在ajax調用後重定向,你將需要明確地用javascript做到這一點。基本上在'success'事件上掛上了'window.location.href = url'這樣的東西。 – devk