Javascript Ajax调用未到达Laravel控制器
我试图在通过jquery单击Javascript Ajax调用未到达Laravel控制器,javascript,jquery,laravel,Javascript,Jquery,Laravel,我试图在通过jquery单击标记时更新数据库中的一个字段 以下是HTML代码: <a href="#" onclick="removeNumber()" id="notif-rmv" name="notif-rmv" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> <span class="
标记时更新数据库中的一个字段
以下是HTML代码:
<a href="#" onclick="removeNumber()" id="notif-rmv" name="notif-rmv" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
<span class="glyphicon glyphicon-globe"></span>Notifications <span class="badge">{{count(auth()->user()->notifics)}}</span></a>
路由和路由脚本:
<script>
var token = '{{ Session::token() }}';
var notRmv = '{{ route('not.rmv') }}';
</script>
Route::get('/notrmv', [
'uses' => 'PostController@notif_read_bdg',
'as' => 'not.rmv'
]);
我怀疑Jquery代码有问题,因为我不是很擅长,所以请告诉我Jquery代码中是否有问题?问题似乎是您使用ajax中的POST方法调用,但在Laravel中,您只有GET请求的路径,您必须更改方法“GET”中的方法“POST”或Route::GET-in-Route::POST
您还可以在浏览器的“网络”选项卡中检查错误。问题似乎是您使用ajax中的POST方法调用,但在Laravel中,您只有GET请求的路由。因此,您必须更改方法:“GET”中的方法:“POST”或路由::GET in route::POST 您还可以在浏览器的“网络”选项卡中检查错误。这是获取请求路由。 您需要发送POST请求的路线
Route::post('/notrmv', [
'uses' => 'PostController@notif_read_bdg',
'as' => 'not.rmv'
]);
这是GET请求路由。
您需要发送POST请求的路线
Route::post('/notrmv', [
'uses' => 'PostController@notif_read_bdg',
'as' => 'not.rmv'
]);
在ajax代码中,您告诉jquery将请求作为POST请求,但您的路由被定义为GET请求。按照惯例,如果要更新资源,应该在这两个位置使用PUT或PATCH。我通常使用补丁只是因为它听起来更像一个“更新” Ajax调用如下
$.ajax({
method: 'PATCH',
url: notRmv,
data: { _token: token}
}).done(function () {
});
你的路线呢
Route::patch(“/notrmv”[
'使用'=>'PostController@notif_read_bdg',
'作为'=>'而不是.rmv'
]);
在ajax代码中,您告诉jquery将请求作为POST请求,但您的路由被定义为GET请求。按照惯例,如果要更新资源,应该在这两个位置使用PUT或PATCH。我通常使用补丁只是因为它听起来更像一个“更新”
Ajax调用如下
$.ajax({
method: 'PATCH',
url: notRmv,
data: { _token: token}
}).done(function () {
});
你的路线呢
Route::patch(“/notrmv”[
'使用'=>'PostController@notif_read_bdg',
'作为'=>'而不是.rmv'
]);
您是否有notrmv的POST
路线?原因method:'POST',
不适用于Route::get()
。锚定标记有一个onclick方法,您再次使用jquery click listener监听onclick方法。两者都留一个。在onclick put event.preventDefault()中防止锚定标记的默认操作,否则它将尝试进入#url您是否有notrmv
的POST
路径?原因method:'POST',
不适用于Route::get()
。锚定标记有一个onclick方法,您再次使用jquery click listener监听onclick方法。两者都留一个。并在onclick put event.preventDefault()中阻止锚定标记的默认操作,否则它将尝试转到#url