я могу загрузить изображение и данные из весенней формы из запроса ajax и отображения модели атрибута - PullRequest
0 голосов
/ 24 апреля 2020

Я хочу вернуть все поля из формы в 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>

                                        &nbsp; &nbsp; &nbsp;
                                        <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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...