当前位置: 首页 > 面试题库 >

如何使用ajax请求删除laravel 5.3中的记录?

章涵蓄
2023-03-14
问题内容

我试图在laravel
5.3中使用Ajax删除记录,我知道这是一个常见问题,并且已经有很多关于此主题的在线解决方案和教程。我尝试了其中一些,但大多数都给了我同样的错误NetworkError: 405 Method Not Allowed。我试图以不同的角度来完成这项任务,但是我被卡住了,找不到我错了,这就是为什么我将此问题添加为指导原则。

我正在尝试使用以下脚本删除记录。

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');

视野中

<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");
    });

当我单击删除按钮时,它NetworkError: 405 Method Not Allowed在控制台中返回错误。如果没有ajax,则相同的删除功能将正常运行。

任何人都可以引导我解决问题的地方不对,如果有人对此进行指导,我将不胜感激。谢谢..


问题答案:

而不是使用Route::getuse Route::delete

除此之外变化type: 'Put',以type: 'DELETE'在Ajax调用。

PS此代码

$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();

甚至更短:

UserModel::destroy($id);

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



 类似资料:
  • 问题内容: 我正在使用php,mysql和ajax从表中删除记录。问题是,在MySQL_query中,它没有获取显示为“ id = undefined”的ID,我试图将ID传递给查询,但我不知道我哪里出了错,我试图打印MySQL的节目 谁能告诉我如何通过身份证…谢谢 我的阿贾克斯 我的HTML delete.php 问题答案: 您ID的索引是1,即第二个索引。不是2。

  • 问题内容: 我想使用ajax删除记录。 视图 控制者 Ajax删除 编辑1 : 如果我只返回console.log(msg),这就是我得到的 事实是,这会删除产品,但只会删除第一行,而不是单击的行。 我要删除单击的产品。 有人可以帮忙吗? 问题答案: 您的问题在这里: 您将只获得第一个,因为您在所有按钮上使用重复的ID。因此,一个ID嘶嘶声查询将使您获得第一个。 如果您在删除控制器中的dd($ i

  • 问题内容: 我有下面的代码删除mysql记录,我想对其进行转换,因此它将是ajax / jquery代码,因此从表中删除记录后,我可以留在同一页上。现在,它工作正常,但不在同一页面上,我需要刷新页面以查看结果。这只是完整代码的一部分。所有代码都在一页上。 问题答案: Delete 现在在本节中写下 现在在“ delete_page.php”页面中执行此操作 休息,我希望你知道。希望这可以帮助

  • 我有个问题。当我发送删除请求时,我的Web服务器sinds 403响应。我不想删除请求中的内容,我只需要知道使用的方法是delete。如何配置Web服务器,使其不再发送403条消息?我不想启用WebDAV或类似的东西。我只想知道请求方法是否是DELETE(在我的php文件中,但由于403的原因,它没有被执行)。

  • 问题内容: 我想检查服务器端是否对我的php页面的请求是ajax请求。 我看到了两种方法可以做到这一点: 第一种方法:在请求中发送一个参数,该参数告诉页面这是AJAX请求(= ) mypage.php: 第二种方式:将标头设置为: 客户端js: mypage.php: 事实是,这两种方法很容易被黑,因此检查我是否收到这样的AJAX请求并不安全。 如何检查我是否收到AJAX请求? 问题答案: 没有确

  • 我正在编写一个服务器,用于处理来自javascript注释包(annotatorjs.org)的超文本传输协议请求。javascript向服务器发送一个HTTP DELETE请求,其中包括路径中对象的id,并在JSON对象中发送请求正文中的注释。 我已经尝试用一个JavaWeb服务对象和一个普通的servlet来实现删除请求。在这两种情况下,当我在没有正文的情况下提出请求时,它都是有效的,但当我添