我试图用jQuery做一个POST请求,但是我得到了一个错误405(不允许使用方法),我正在使用Laravel 5
这是我的代码:
jQuery
<script type="text/javascript">
$(document).ready(function () {
$('.delete').click(function (e){
e.preventDefault();
var row = $(this).parents('tr');
var id = row.data('id');
var form = $('#formDelete');
var url = form.attr('action').replace(':USER_ID', id);
var data = form.serialize();
$.post(url, data, function (result){
alert(result);
});
});
});
</script>
超文本标记语言
{!! Form::open(['route' => ['companiesDelete', ':USER_ID'], 'method' =>'DELETE', 'id' => 'formDelete']) !!}
{!!Form::close() !!}
控制器
public function delete($id, \Request $request){
return $id;
}
JQuery错误http://localhost/laravel5.1/public/empresas/eliminar/5405(不允许方法)。
url值为
http://localhost/laravel5.1/public/empresas/eliminar/5
数据值是
_method=DELETE&_token=pCETpf1jDT1rY615o62W0UK7hs3UnTNm1t0vmIRZ.
如果我更改为$。get
request它工作正常,但我想做一个post请求。
有人能帮我吗?
谢谢
编辑
路线
Route::post('empresas/eliminar/{id}', ['as' => 'companiesDelete', 'uses' => 'CompaniesController@delete']);
这可能会对某人有所帮助,所以我也会把我的输入放在这里。
我遇到过同样(或类似)的问题。显然,问题是Modsec通过以下规则阻止了POST请求:350147, 340147, 340148, 350148
阻止请求后,我被重定向到相同的endpoint,但当然是作为GET请求,因此是405。
我把那些规则列入了白名单,瞧,405错误消失了。
希望这能帮助到某人。
你的路线。php文件需要正确设置。
我假设你当前的设置是这样的:
Route::post('/empresas/eliminar/{id}','CompanyController@companiesDelete');
或者别的什么。而是为delete方法定义一个路由。
Route::delete('/empresas/eliminar/{id}','CompanyController@companiesDelete');
现在,如果您使用的是路由资源,则要用于'DELETE'方法的默认路由名称是。在该函数中定义删除逻辑。
methodNotAllowed
异常表示您请求的HTTP方法不存在路由。
您的表单设置为发出DELETE
请求,因此您的路由需要使用route::DELETE()
来接收此请求。
Route::delete('empresas/eliminar/{id}', [
'as' => 'companiesDelete',
'uses' => 'CompaniesController@delete'
]);
问题内容: 我正在开发flask注册表格,但收到错误消息: 码: registration.html: 当我访问时,我收到错误消息。我究竟做错了什么? 问题答案: 这是因为在定义路由时仅允许POST请求。 当你在浏览器中访问时,它将首先执行GET请求。只有提交表单后,浏览器才会执行POST。因此,对于像你这样的自我提交表单,你需要同时处理两者。 使用 应该管用。
我正在尝试使用angularJs和$http发布一个表单。post方法。但每当我执行此函数时,它都会给我以下错误:加载资源失败:服务器响应状态为405(不允许使用方法),我不知道该怎么办。(Im使用visual studio 2015)
我有Laravel 5.4和VueJs应用程序。当我在Localhost中运行它时,它已经工作了,但是现在。我把主机放在一台服务器上,它会给出错误信息 这是我在VueJS的POST请求 这是api.php
问题内容: 我刚刚开始学习Flask,并且我正在尝试创建一种允许POST方法的表单。 这是我的方法: 而我的: 加载表单(在收到GET时将其呈现)可以正常工作。但是,当我单击“ 提交”按钮时,出现一个。 为什么不显示“ Hello”? 问题答案: 除非存在输入错误,否则你的表单将提交给路由方法,除非你输入错误,否则应调整表单的属性以指向视图
我有一个非常简单的Spring引导应用程序,它由以下代码保护: 这个想法是为了保护“admin”部分。它公开了一个RESTAPI。问题是所有的帖子都被退回了 405方法不允许 如果我从应用程序中删除安全启动器,它就会工作。这让我相信安全配置是问题所在。但我不知道怎么做。
问题内容: 经过研究后,我在问这个问题。我确实遵循了针对此类错误的解决方案,但对我不起作用。在下面的代码中出现错误的任何建议。我正在创建一个REST API,但是当我请求url时却出现405错误。下面是URI正在请求。 下面是代码片段。 web.xml: 问题答案: 将此更改为并尝试,