請問各位,我自己在練習寫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,請問各位這是什麼問題?
先看search2有沒有跑進去
如果沒有跑進去就檢查一下路由名稱是不是有重複
我自己試是會出現 666 這個成功訊息