我正在开发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' ]);'' –