簡體   English   中英

當我使用 ajax 發布請求時,為什么在我的現場 laravel 項目中顯示 404 和 405

[英]why 404 and 405 shows on my live laravel project when I use ajax post request

我在 laravel 中為我的本地客戶端開發了簡單的購物車系統,它在我的本地服務器上沒有任何問題,但是當我在無限免費托管的實時服務器上發布它時,它有多個問題。 當我嘗試將主頁上的產品添加到購物車時,它顯示 404 錯誤,我正在使用 ajax 請求。

JS代碼:

      jQuery.ajax({
      url: "/add_to_cart",
      method: "post",
      data: jQuery('#formAddToCart').serialize(),
      success: function(result){}

my home page url is "new_shop/" and when I remove the "/" from my js code url it is working perfectly but then it shows error on my product detail page where I am using same function and the url of product detail page is “產品名稱”像這樣沒有“/”; 添加到購物車的產品詳細信息頁面也不適用於“url:”/add_to_cart”,這個 url。 我不知道混亂是什么,因為它在我的本地服務器上運行良好。 我認為這可能是免費托管的問題。 任何幫助將不勝感激。

路線 WEB.PHP 代碼:

            Route::post('add_to_cart',[FrontController::class,'add_to_cart']);  

您從 js 代碼中以錯誤的方式進行操作。

您應該像這樣為您的路線使用名稱

Route::post('/add_to_cart',[FrontController::class,'add_to_cart'])->name('cart.add');

現在像這樣從js代碼中調用它

jQuery.ajax({
    url: "{{route('cart.add')}}",
    method: "post",
    data: jQuery('#formAddToCart').serialize(),
    success: function(result){}
})

並確保您在表單數據中傳遞 csrf 令牌。

這樣您就不必擔心您的 methodName 以及您的 url。 您只需要為您的路線提供一個名稱

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM