iT邦幫忙

0

Laravel使用ajax請求失敗?

  • 分享至 

  • xImage

請問各位,我自己在練習寫Laravel用ajax請求,但每次都跑error
我在views的前端是這樣:

 <script>

$(document).ready(function(){
  $("#ccss").click(function(){
$.ajax({
  
    url: '{{ route('search2') }}', // 請求的URL,這裡假設是 '/search2'
    data: "acar", // 傳遞給後端的參數
    type: 'post', // 請求的方法,這裡假設是 'POST'
    success: function(date) {
        // 成功接收到後端回傳的資料時執行的函數
        alert("666"); // 在控制台中顯示後端回傳的資料
    },
    error: function() {
        // 接收後端回傳資料失敗時執行的函數
        alert("失敗23")
    }
});

});
});
</script>
<button  id="ccss">Submit</button>

我的路由是:

Route::post('/search2', [Ec::class, 'search2'])->name('search2');

我的controllers:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use Illuminate\Support\Facades\DB;
class Ec extends Controller
{

    public function search2(Request $request)
    {
       // $search = $request->input('search2');
       // $results = DB::table('commodity')->where('brand', 'like', '%'.$search.'%')->get();
      
        return  ['code' => 200];   

        




    }

}

我現在的問題是,如果前端views的部分改用

  <form method="POST" action="{{ route('search2') }}">
    @csrf
    <input type="text" name="example_input">
    <button id="ccs">Submit</button>
</form>

這樣寫的話是能正常看到後端回傳的東西的,可是我用ajax的js下去試卻只會跑error部分的function,請問各位這是什麼問題?

淺水員 iT邦大師 6 級 ‧ 2023-03-29 16:28:36 檢舉
還沒仔細看,猜跟 csrf 有關
https://laravel.com/docs/10.x/csrf
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
atlas0126
iT邦新手 5 級 ‧ 2023-05-31 12:39:00

先看search2有沒有跑進去
如果沒有跑進去就檢查一下路由名稱是不是有重複
我自己試是會出現 666 這個成功訊息

感謝回答,最後發現是我前端ajax呼叫的路徑寫錯XD

我要發表回答

立即登入回答