Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
Php Laravel AJAX请求,不允许使用方法_Php_Jquery_Laravel_Laravel 5 - Fatal编程技术网

Php Laravel AJAX请求,不允许使用方法

Php Laravel AJAX请求,不允许使用方法,php,jquery,laravel,laravel-5,Php,Jquery,Laravel,Laravel 5,我在尝试通过bluimp的jQueryFileUpload上传图像时遇到问题 在我的路由中,我有这样一个:Route::post('image/upload/{folder}','ImageController@upload'); 我的文件输入位于标记之外,因为它独立于表单: <input id="imageupload" type="file" name="image" multiple="" data-url="{{ url('admin/image/upload/members')

我在尝试通过bluimp的jQueryFileUpload上传图像时遇到问题

在我的路由中,我有这样一个:
Route::post('image/upload/{folder}','ImageController@upload');

我的文件输入位于
标记之外,因为它独立于表单:

<input id="imageupload" type="file" name="image" multiple="" data-url="{{ url('admin/image/upload/members') }}" >
奇怪的是,当我从
example.app/admin/members/create
调用这个方法时,它可以工作,但当我试图从
example.app/admin/members/1/edit
访问它时,我得到了一个405,
方法不允许

在这两种情况下,方法都是POST

创建和编辑URI的我的路由:

Route::get('members/create', [
    'uses' => 'MembersController@create', 'as' => 'admin/members/create'
]);
Route::get('members/{member}/edit', [
    'uses' => 'MembersController@edit', 'as' => 'admin/members/edit'
]);
我敢肯定,这是一件我看不见的蠢事

另外,我有一个项目资源,我也上传图片,使用相同的路线和功能。它适用于两种情况(创建和编辑)

有人有这个问题吗


谢谢大家!

HTTP 405表示不支持请求方法

两条路由都侦听get请求

Route::get('members/create', [
    'uses' => 'MembersController@create', 'as' => 'admin/members/create'
]);
Route::get('members/{member}/edit', [
    'uses' => 'MembersController@edit', 'as' => 'admin/members/edit'
]);
你确定你不想一个或两个都被贴上吗

Route::post('members/create', [
    'uses' => 'MembersController@create', 'as' => 'admin/members/create'
]);
Route::post('members/{member}/edit', [
    'uses' => 'MembersController@edit', 'as' => 'admin/members/edit'
]);

好的,我设法解决了这个问题,但我真的不明白为什么它不起作用

在我的路线中,我有以下内容,其中ajax url指向POST:

Route::post('image/upload/{folder}', 'ImageController@upload');
这不起作用。 我把它改成:

Route::any('image/upload/{folder}', 'ImageController@upload');
现在它开始工作了


这很奇怪,因为在我的请求头上我有POST方法,但在POST(路由中)中我没有工作。

该uri的路由是什么?您的表单声明是什么样子的?你确定你使用的是POST,而不是PLACE或PUT吗?@Jeemusu嗨!我更新了我的问题可能不太可能,但值得检查,您的
routes.php
文件中是否有冲突的路由?我检查了我的路由文件。没有冲突的路线,谢谢。@MusicVisious您没有邮政路线。没有。创建和编辑URI用于获取表单(和表单数据)。存储和更新方法是POST。页面上是否有表单元素?可能是fileupload脚本使用了forms方法属性?您是否使用POST作为更新表单,而不是PLACE或Plat?我在页面上有一个表单元素,是的。但是输入在表单标签之外,显然没有使用POST,这很奇怪。尝试使用Route::place或Route::put并缩小范围以查看它使用的方法,然后您可以尝试并确定它来自何处;伙计,我真的不明白。但它不应该是任何的。
Route::any('image/upload/{folder}', 'ImageController@upload');