Я пытался создать страницу загрузки для веб-приложения. Для отправки файлов на сервер я хочу использовать AJAX, поскольку я использую AJAX GET для всего интерфейса.Laravel 5.2 - метод [ajax] не существует
Моя проблема заключается в том, что при попытке использовать POST в данных обстоятельствах я предоставит вам мгновение, я получаю сообщение об ошибке «Метод [ajax] не существует».
Мой маршрут (СТОЛБ один):
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
.
Мои [email protected]
:
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
моя собственная реализация Еогеасп, и это делает только что.upload.fileArray
- это оболочка массива, которую я определил и работает как ожидаемый .- Заполнение
upload.fileArray
работает отлично и проверено. Он заселен отinput[type=file] (multiple)
'sFileList
.
Любая помощь приветствуется. Пожалуйста, спросите, что-то неясно.
Правильно ли установлено ваше промежуточное ПО ajax? – Neat
Ваша проблема заключается в '$ .ajax (ajax);' потому что вы, вероятно, не включили jQuery (соответственно). http://api.jquery.com/jquery.ajax/ –
попробуйте выполнить поиск в источнике страницы после загрузки страницы, чтобы найти библиотеку jQuery, которую вы включили, и вставьте ее здесь. например, я использую '' – Onix