Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Привет.
При добавлении нового ресурса, все идеально добавляется в базу и все картинки загружаются, но при редактировании, на сервер отправляется пустой массив, и выходит ошибка что обязательные поля не заполнены.
$('#form').on('submit', function(e) {
e.preventDefault();
var form = $('#form');
var formData = new FormData($(this)[0]);
$.ajax({
url : form.attr("action"),
type : form.attr("method"),
data : formData,
dataType: 'json',
cache: false,
contentType: false,
processData: false,
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
},
error :function( errors ) {
output = "<div class='alert alert-danger'><h4><i class='icon fa fa-ban'></i> Возникла ошибка!</h4><ul>";
$.each(errors.responseJSON, function(index, error){
output += "<li>" + error + "</li>";
});
output += "</ul></div>";
$('#append').html(output);
},
success: function(data){
output = "<div class='alert alert-success'><h4><i class='icon fa fa-check'></i> Готово!</h4><ul>";
output += data.success;
output += "</ul></div>";
$('#append').html(output);
setTimeout(function(){
window.location.replace('{{ url('post') }}')}, 3500
);
}
})
})
При редактировании используется этот же код, только метом на "patch" меняю.
Почему так?
То есть formData пустой.
попробуй взять serializeObject у меня
http://github.com/h-zone/jquery-tools (можно через bower)
у меня там по сериализации объекта 1 функция и 1 jquery-метод (работают по разному, задачи выполняют по разному (метод, если память не изменяет, может сериализовать name="var[var1][var2]" аттрибут тега input)
Не в сети
примет простой
либо
var formData = $('FORM[name="myform"]').serializeObject()
либо
var formData = serializeObject($('FORM[name="myform"]').)
методы взяты в инете и/или немного модифицированы
Изменено hzone (15.07.2016 19:14:52)
Не в сети
примет простой
либо
var formData = $('FORM[name="myform"]').serializeObject()
либо
var formData = serializeObject($('FORM[name="myform"]').)методы взяты в инете и/или немного модифицированы
У меня до этого было с сериализацией, и все отлично работало. Но вот теперь добавил загрузку изображений и пришлось отказатся от сериализации т.к. она не отправляет изображения. Попробую с вашим скриптом, мб получится
ясно. form multipart ?
Не в сети
через аякс файл так просто не отдашь, и тем более не увидишь ничего со стороны сервера.
в своё время я написал интерфейс для загрузки картинок.
https://github.com/h-zone/lib-immann
интерфейс после обработки изображения пакует его в base64 и текстом отдёт
Не в сети
демку можно глянуть тут
http://showcase.h-zone.ru/lib-immann
Не в сети