Как исправить проблему с приоритетом, вызывая ajax и переходя на href? - PullRequest
0 голосов
/ 19 февраля 2020

Я создаю Java приложение Spring Boot, которое должно запускать определенные действия только после достижения желаемой ссылки. Однако сейчас все происходит наоборот. Он выполняет вызов Ajax до того, как href будет завершен. Порядок должен быть пользователь нажимает на другой экран eBtn, который захватывает все соответствующие данные. Затем, в зависимости от того, отображается статус или нет, им будет предложено выбрать кнопку «Создать» или «Редактировать». Если они решат выбрать редактирование, тогда они должны выполнить некоторые действия, получить другие важные данные и сохранить их в поле. Затем, когда вызов Ajax выполняется, он захватывает эти данные и фактически вносит необходимые корректировки. Поэтому на самом деле я не хочу, чтобы он запускался перед страницей, но вместо этого я хочу, чтобы он запускался в порядке перехода к нужному href, а затем к вызову ajax.

HTML:

<div class="modal-dialog" role="document">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="exampleModalLabel">Update or
                            Create</h5>
                        <button type="button" class="close" data-dismiss="modal"
                            aria-label="Close">
                            <span aria-hidden="true">&times;</span>
                        </button>
                    </div>
                    <div class="modal-body">
                        <div class="form-group">
                            <label class="col-form-label">Name:</label> 
                            <input type="text" class="form-control" id="displayAppName"
                                name="displayAppName" value="" readonly/>

                            <label class="col-form-label">Code:</label> 
                            <input type="text" class="form-control" id="code" name="code"
                                value="" readonly />

                            <label class="col-form-label">Status:</label>
                            <input type="text" class="form-control" id="Status" name="Status"
                                value="" readonly />

                            <label class="col-form-label">Edit Status:</label> 
                            <input type="text" class="form-control" id="editStatus"
                                name="editStatus" value="" readonly/>


                        </div>
                    </div>
                    <div class="modal-footer">
                        <a id="modalCreateBtn"> <input type="submit"
                            class="btn btn btn-primary modal-create" id="createBtn"
                            value="Create" /></a>

                        <button type="button" class="btn btn-secondary"
                            id="dashboardCloseModal" data-dismiss="modal">Close</button>
                    </div>
                </div>
            </div>

Javascript:

                    "click",
                    function(event) {

                        event.preventDefault();

                        var href = $(this).attr('href');
                        console.log(href);

                        $.get(href,
                                function(ary2, status) {
                                    $("#displayAppName").val(ary2.appname);
                                    $("#code").val(ary2.appcode);
                                    $("#editStatus").val(ary2.status);

                                    if (ary2.mapstatus == "" || ary2.mapstatus == null) {

                                        $("#Status").val("");
                                        $("#createBtn").val('Create');
                                        $('#modalCreateBtn').attr(
                                                'href',
                                                '/create?currentAppcode='
                                                        + ary2.appcode
                                                        + "&currentAcro="
                                                        + ary2.acronym
                                                        + "&currentAppname="
                                                        + ary2.appname);
                                        console.log("Hit Create");

                                    } else {

                                        $("#Status").val("Mapped");
                                        $("#createBtn").val('Edit');
                                        $('#modalCreateBtn').attr(
                                                'href',
                                                '/edit?currentAppcode='
                                                        + ary2.appcode
                                                        + "&currentAcro="
                                                        + ary2.acronym);
                                        console.log("Hit edit");


                                    }

                                });

                        $("#exampleModal").modal();

                    });








    $("#createBtn").on('click',function() {

                $(window).on('load', function() {

                    fillInGPData();

                });
            });






            function fillInGPData() {

                $.ajax({
                    type : "POST",
                    contentType : 'application/json; charset=utf-8',
                    dataType : 'json',
                    url : "/ajax/getGPdata",
                    data : JSON.stringify(""),
                    success : function(result) {

                        console.log("Result Selector: " + result);
                        console.log(result == null);



                    },
                    error : function(err) {

                        console.log(err);

                    }

                });
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...