#node.js #ajax #upload #multer #enctype
#node.js #ajax #загрузка #мультер #тип ввода
Вопрос:
Это HTML-код формы. Я использую enctype="application/x-www-form-urlencoded"
в настоящее время.
<form name="{{this.status}}" class="commonForm" enctype="application/x-www-form-urlencoded" action="/api/upload/{{this.commonID}}" method="post">
<td>
<input type="file" id="{{this._id}}" class="form-control" name="FileUploadForClient" multiple required {{this.statusDisabled}} />
</td>
<td>
<button type="submit" class="btn btn-primary btn-block col-sm-2" style="font-size:16px" {{this.statusDisabled}}>Submit</button>
</td>
</form>
МОЙ вызов AJAX:
var formData = new FormData(this);
formData.append('text',"Awesome Font!");
$.ajax({
type: "POST",
url: $(this).attr('action'),
data: formData,
processData: false,
contentType: false,
dataType: "json",
success: function(response){
if (response.status == '200') {
$.LoadingOverlay("hide");
swal({
title: "Excellent!",
text: "Files submitted successfully!",
icon: "success",
button: "Ok",
showCancelButton: true
}).then((result) => {
if (result) {
window.location.reload();
}
});
Я хочу отправить текстовое поле, которое я добавил выше, вместе с загруженными файлами.
Файлы успешно отправлены, но когда я пытаюсь использовать req.body.text
в nodejs
нем, это не определено. Почему?????????????
Вот код маршрута:
router.post('/api/upload/:cid',function(req,res,next){
console.log("yes it came under api");
console.log("req.body.text = " req.body.text req.query.text);
upload2(req,res,function(err) {
if(err) {
console.log("Error is important = " err);
}
else
{
console.log("Uploaded");
}
})
})
Итак, моя главная проблема: как получить доступ к текстовому полю на стороне сервера nodejs
после отправки через AJAX
with FormData
??? Пожалуйста, помогите!!!
Комментарии:
1. Formdata анализирует данные вашего запроса как составную форму, и вам необходимо проанализировать форму в express с использованием промежуточного программного обеспечения. Нет необходимости использовать formdata, если вы не отправляете разные типы данных, например. изображения, аудио и т. Д. Просто напрямую задайте данные в вашем ajax-вызове для объекта.
2. Тогда как проанализировать FormData в express с помощью промежуточного программного обеспечения? И я уже упоминал, что я также хочу отправлять файлы pdf, jpg, png вместе с данными json.
3. multer — хорошее промежуточное программное обеспечение для составных форм для express