Я пытаюсь загрузить изображение и вставить его в летнюю заметку. Я использую FormData (), чтобы сделать мои данные формой и добавить к ней изображение. но почему-то моя форма данных пуста, когда я передаю ее.
HTML FORM
<form action="/dashboard/blog/create" method="POST">
<div class="form-group">
<label for="blogTitle">Title</label>
<input type="text" name="blogTitle" placeholder="Blog Title" class="form-control" required">
</div>
<div class="form-group">
<label for="blogSubtitle">Subtitle</label>
<input type="text" name="blogSubtitle" placeholder="Blog Subtitle" class="form-control" required>
</div>
<div class="form-group">
<label for="postedBy">Posted By:</label>
<input type="text" name="postedBy" placeholder="Posted By" class="form-control"
value="<%= currentUser.first_name %> <%= currentUser.last_name %>" required>
</div>
<div class="form-group">
<textarea id="summernote" name="blogBody"></textarea>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary">
</div>
</form>
мой JS файл
$('#summernote').summernote({
height: ($(window).height() - 300),
callbacks: {
onImageUpload: function (image) {
uploadImage(image[0]);
}
}
});
function uploadImage(image) {
let data = new FormData();
data.append("image", image);
for (let key of data.entries()) {
console.log(key[0] + ', ' + key[1]);
}
console.log('data', data)
$.ajax({
url: '/dashboard/blog/image/upload',
cache: false,
contentType: false,
processData: false,
data: data, // this gives an error because somehow it is empty and data.append is note saving the append?
type: "post",
success: function (url) {
console.log('url', url)
var image = $('<img>').attr('src', 'http://' + url);
$('#summernote').summernote("insertNode", image[0]);
},
error: function (data) {
console.log(data);
}
});
}
также с использованием
for (let key of data.entries()) {
console.log(key[0] + ', ' + key[1]);
}
показывает, что мои данные совсем не пусты.