Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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 使用laravel route link中的按钮删除产品_Javascript_Php_Laravel - Fatal编程技术网

Javascript 使用laravel route link中的按钮删除产品

Javascript 使用laravel route link中的按钮删除产品,javascript,php,laravel,Javascript,Php,Laravel,我使用laravel框架创建了一个示例产品页面,在这里我添加了一个删除按钮来删除特定的产品onclick。下面是添加到按钮的laravel路线代码 <button onclick= "window.location= '{{ route('customer.wishlist.remove', $item->id) }}'" > Remove </button> 删除 在这里,项目id是从数据库自动生成的,也可以通过检查remove按钮代码来查看 单击“删除”按

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

 <button onclick= "window.location= '{{ route('customer.wishlist.remove', $item->id) }}'" > Remove </button>
删除
在这里,项目id是从数据库自动生成的,也可以通过检查remove按钮代码来查看

单击“删除”按钮,产品将被删除。但当我在浏览器中单独运行route链接时,产品也会被删除,因为同样的位置链接也会被提供给button

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

请帮我做这个


谢谢

首先,您使用的是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>
删除
{{csrf_field()}}

将您的路线设置为
post

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