我正在開發Laravel 4應用程序,並將其部署在免費託管。問題是我的POST路由不在那裏工作,他們崩潰與「方法不允許」異常。相同的路線在我的本地機器上完美地工作。請給我一些關於這裏可能發生的事情的小丑嗎?方法不允許 - Laravel 4
UPDATE:
這是我所說的路線:
$.ajax({
method: "POST",
url: "/store/addToCart/" + phone.id(),
contentType: "application/json; charset=utf-8"
}).done(function(returnedData) {
window.location = "/";
});
這是我的路線:
Route::post('/store/addToCart/{id}', '[email protected]');
這是我的控制器:
public function addToCart($productId) {
$product = Product::where('id', '=', $productId)->first();
//Session::flush();
if(null !== Session::get('cart')) {
$cartId = Session::get('cart');
$products_count = Session::get('products_amount')[0];
$amount = Session::get('amount')[0];
$cartProduct = CartProduct::create(['cart_id' => $cartId[0],
'product_id' => $productId,
'product_cost' => $product->price_bgn,
'product_qty' => 1
]);
if(isset($cartProduct)){
$products_count++;
$amount += $product->price_bgn;
}
Session::push('cart', $cartId);
Session::forget('products_amount');
Session::push('products_amount', $products_count);
Session::forget('amount');
Session::push('amount', $amount);
} else {
$products_count = 0;
$amount = 0;
$cart = Cart::create(['status' => 'НОВА',
'cost' => $product->price_bgn
]);
$cartProduct = CartProduct::create(['cart_id' => $cart->id,
'product_id' => $productId,
'product_cost' => $product->price_bgn,
'product_qty' => 1
]);
if(isset($cartProduct)) {
$products_count++;
$amount = $product->price_bgn;
}
Session::push('cart', $cart->id);
Session::forget('products_amount');
Session::push('products_amount', $products_count);
Session::forget('amount');
Session::push('amount', $amount);
}
}
這正在爲我的當地媽媽工作中國香港,但在我的託管它崩潰與「方法不允許」。
請向我們提供您在應用程序中使用的代碼。我們不能只給出通配符解決方案,這不是StackOverflow的用途。向我們顯示您的路線文件,並向我們展示所使用的控制器/方法。 –
更新了我的帖子 – stackUnderflow
您使用的是同一條路線嗎?如果是這樣的路線'Route :: post('/ store/addToCart/{id}',[ 'as'=>'addToCart.post', 'uses'=>'CartProductController @ addToCart' ] );''和'Route :: get('/ store/addToCart/{id}','=>'addToCart.get', 'uses'=>'CartProductController @ addToCart' ]);'' –