我一直在尝试为web应用程序创建一个上传页面。为了将文件发送到服务器,我想使用AJAX,因为我已经在整个前端使用了AJAX GETs。Laravel 5.2 - 方法[ajax]不存在
我的问题是,当试图使用POST,在我将在稍后提供给您的情况下,我收到错误消息'Method [ajax] does not exist'。
我的路由(POST一个):
Route::group(['prefix' => 'organisatie', 'middleware' => ['web', 'auth', 'ajax'], 'namespace' => 'Organisatie'], function()
{
Route::group(['prefix' => '{organisatie}/documenten'], function()
{
Route::get('/', '[email protected]')->name('drive.index');
Route::post('/upload', '[email protected]')->name('drive.upload');
});
});
的路线将回落到organisatie/{organisatie_id}/documenten/upload
。
public function upload(Request $request)
{
$file = $request->file('file[]');
return response()->json($file);
}
我的AJAX代码:
var formData = new FormData();
utility.foreach(upload.fileArray.array, function (file) {
formData.append('file[]', file);
});
var ajax = {
url: '/organisatie/1/documenten/upload',
type: 'POST',
data: formData,
dataType: 'JSON',
processData: false,
success: function (data) {
console.log(data);
}
};
$.ajax(ajax);
注:
utility.foreach
是我自己的foreach实现,它也只是 说。upload.fileArray
是我定义的数组包装器,它的工作原理是 。- 填充
upload.fileArray
工作正常,并经过测试。它的填充范围是input[type=file] (multiple)
的FileList
。
任何和所有的帮助表示赞赏。请问有没有不清楚的地方。
您的ajax中间件是否正确设置? – Neat
你的问题在于'$ .ajax(ajax);'因为你可能没有包含jQuery(correcly)。 http://api.jquery.com/jquery.ajax/ –
尝试在页面加载后搜索页面源代码,找到您包含的jQuery库并将其粘贴到此处。例如我使用'' – Onix