Я хочу вернуть все поля из формы в ajax на «данные». Удобно отображать таблицу NewEntity в java spring jpa back-end, но при отладке в ajax я не получаю «миниатюру» в массиве данных. это возможно?
в строке кода <form:input path="thumbnail" cssClass="col-xs-10 col-sm-5" type="file" size="50" id="thumbnail"/>
я не знаю, почему это не добавить в ajax? Как добавить данные и файл в «данные» это возможно? я уже отлаживаю в ajax, но в «данных» нет миниатюры
, у меня есть код jsp вроде:
<form:form class="form-horizontal" role="form" id = "formSubmit" modelAttribute="model" enctype="multipart/form-data">
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="sel1">the loai:</label>
<div class="col-sm-9">
<form:select path="categoryCode" id="categoryCode">
<form:option value="" label="-- categories --"/>
<form:options items="${categories}"/>
</form:select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-1"> ten bai viet </label>
<div class="col-sm-9">
<form:input path="title" cssClass="col-xs-10 col-sm-5" id="title"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label no-padding-right" for="form-field-1"> anh dai dien </label>
<div class="col-sm-9">
<form:input path="thumbnail" cssClass="col-xs-10 col-sm-5" type="file" size="50" id="thumbnail"/>
</div>
</div>
<div class="form-group">
<label for="shortDescription" class="col-sm-3 control-label no-padding-right" ></label>
<div class="col-sm-9">
<form:textarea path="shortDescription" cssClass="col-xs-10 col-sm-5" rows="5" id="shortDescription"/>
</div>
</div>
<div class="form-group">
<label for="content" class="col-sm-3 control-label no-padding-right"></label>
<div class="col-sm-9">
<form:textarea path="content" cssClass="col-xs-10 col-sm-5" rows="5" id="content"/>
</div>
</div>
<form:hidden path="id" id="newId"/>
<div class="form-group">
<div class="clearfix form-actions">
<div class="col-md-offset-3 col-md-9">
<c:if test="${not empty model.id}">
<button class="btn btn-info" type="button" id="btnAddOrUpdateNew" >
<i class="ace-icon fa fa-check bigger-110"></i></button>
</c:if>
<c:if test="${empty model.id}">
<button class="btn btn-info" type="button" id="btnAddOrUpdateNew" >
<i class="ace-icon fa fa-check bigger-110"></i>add news</button>
</c:if>
<button class="btn" type="reset">
<i class="ace-icon fa fa-undo bigger-110"></i> huy
</button>
</div>
</div>
</div>
</form:form>
и ajax:
$('#btnAddOrUpdateNew').click(function (e){
e.preventDefault();
var data = {};
var formData = $('#formSubmit').serializeArray();
$.each(formData, function(i,v){
data[""+v.name+""] = v.value;
});
var id = $('#newId').val();
if(id == ""){
addNew(data);
} else {
updateNew(data);
}
});
function addNew(data){
$.ajax({
url:'${newAPI}',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(data),
dataType: 'json',
success: function (result){
window.location.href = "${editNewURL}?id="+result.id+"&message=insert_success";
},
error: function(error){
window.location.href = "${newURL}?page=1&limit=2&message=error_system";
}
});
}
function updateNew(data){
$.ajax({
url:'${newAPI}',
type: 'PUT',
contentType: 'application/json',
data: JSON.stringify(data),
dataType: 'json',
success: function (result){
window.location.href = "${editNewURL}?id="+result.id+"&message=update_success";
},
error: function(error){
window.location.href = "${editNewURL}?id="+result.id+"&message=error_system";
}
});
NewDTO
public class NewDTO extends AbstractDTO<NewDTO>{
private String title;
private CommonsMultipartFile[] thumbnail;
private String shortDescription;
private String content;
private Long categoryId;
private String categoryCode;
// and get set;
}