我正在try 使用laravel 5.3中的ajax删除记录,我知道这是一个常见的问题,关于这个主题已经有很多在线解决方案和教程可用.我try 了其中一些,但大多数都给了我同样的错误NetworkError: 405 Method Not Allowed.我试着从不同的Angular 来做这个任务,但我被卡住了,找不到我错的地方,这就是为什么我添加了这个问题作为指导.

我正在try 按照脚本删除记录.

Controller.php

public function destroy($id)
{   //For Deleting Users
    $Users = new UserModel;
    $Users = UserModel::find($id);
    $Users->delete($id);
    return response()->json([
        'success' => 'Record has been deleted successfully!'
    ]);
}

Routes.php

Route::get('/user/delete/{id}', 'UserController@destroy');

In View

<button class="deleteProduct" data-id="{{ $user->id }}" data-token="{{ csrf_token() }}" >Delete Task</button>

App.js

$(".deleteProduct").click(function(){
        var id = $(this).data("id");
        var token = $(this).data("token");
        $.ajax(
        {
            url: "user/delete/"+id,
            type: 'PUT',
            dataType: "JSON",
            data: {
                "id": id,
                "_method": 'DELETE',
                "_token": token,
            },
            success: function ()
            {
                console.log("it Work");
            }
        });

        console.log("It failed");
    });

When i'm click on delete button it returning me error NetworkError: 405 Method Not Allowed in console. Without ajax same delete function is working properly.

有没有人可以指导我哪里错了,我可以解决这个问题,如果有人在这方面指导我,我将不胜感激.谢谢..

推荐答案

Instead of using Route::get use Route::delete.

除此之外,将ajax调用中的type: 'Put'更改为type: 'DELETE'.


附:这是代码

$Users = new UserModel;        // Totally useless line
$Users = UserModel::find($id); // Can chain this line with the next one
$Users->delete($id);

可以写成:

UserModel::find($id)->delete();

Or even shorter:

UserModel::destroy($id);

请记住,->delete()会触发事件,而::destroy()不会.

Laravel相关问答推荐

当未通过验证的字段是值数组时,Laravel$validator->;validator()方法不会引发异常

laravel vue 惯性分页器删除上一个和下一个链接

如何返回Blade Laravel 中的按钮?

使用 fetch api 时 Laravel 控制器不存在错误

在 Laravel 包中的路由上使用显式或隐式模型绑定

如何更改 laravel sanctum 返回message: Unauthenticated.

如何在自引用表上使用 Laravel 的 hasManyThrough

用户''@'localhost'对数据库'forge'的访问被拒绝随机出现

如何在laravel中将数组转换为字符串?

Carbon(laravel)处理无效日期

Laravel 的 APP_ENV 变量(在 .env 文件中找到)是否有建议的值列表?

Laravel 5.3 auth 判断构造函数返回 false

带有消息...必须返回关系实例的 LogicException.

Laravel Passport Route [login] 未定义

如何在 Laravel 中将秒转换为天小时分钟

Laravel Mail 发送Electron邮件但返回 false

无法打开laravel.log:无法打开流

如何在 Laravel 中正确安装软件包?

Laravel 排序集合,然后按键

Distinct values with pluck