Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax调用未到达Laravel控制器_Javascript_Jquery_Laravel - Fatal编程技术网

Javascript Ajax调用未到达Laravel控制器

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="

我试图在通过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="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