【问题标题】:Removing a Product using button in laravel route link使用 laravel 路由链接中的按钮删除产品
【发布时间】:2020-02-16 04:48:53
【问题描述】:

我使用 laravel 框架创建了一个示例产品页面,我在其中添加了一个删除按钮来删除该特定产品 onclick。下面是添加到按钮的 laravel 路由代码

 <button onclick= "window.location= '{{ route('customer.wishlist.remove', $item->id) }}'" > Remove </button>

这里的项目 id 是从数据库中自动生成的,也可以通过检查删除按钮代码来查看。

单击“删除”按钮后,产品将被删除。但是当我在浏览器中单独运行路线链接时,产品也会被删除,因为按钮也提供了相同的位置链接。

我希望此操作仅在单击删除按钮时起作用。如果我直接输入路由 url 它不应该。我怎么能抗拒呢。

请帮帮我

谢谢

【问题讨论】:

  • 这是GET 路由吗?您可以/应该使用POST 表单(包括@csrf
  • 尝试“location.href”而不是“window.location”
  • @Mihirajagia 这不会阻止直接调用 url

标签: javascript php laravel


【解决方案1】:

首先,您使用的是 get 方法,以便浏览器可以直接访问它。

现在,如果您不想让用户直接访问该 URL,那么您需要将请求设为 POST

<button  onclick="event.preventDefault(); document.getElementById('delete').submit();">Remove  </button >
<form id="delete" action="{{ route('customer.wishlist.remove', $item->id) }}" method="POST" style="display: none;">
    {{ csrf_field() }}
</form>

将您的路线设为post

【讨论】:

    猜你喜欢
    • 2016-10-30
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 2015-11-07
    • 1970-01-01
    • 1970-01-01
    • 2022-06-17
    相关资源
    最近更新 更多