Ajax отправляет запрос дважды - PullRequest
0 голосов
/ 08 июня 2019

Как я описал в заголовке, ajax отправляет два запроса одновременно. Это происходит только тогда, когда для параметра «async» установлено значение «true». Когда это «ложь», тогда нет проблем.

Я запрещаю перезагрузить страницу:

$(document).ready(function() {
$(document).on('submit', 'form', function() {
    showBusyIndicator();
    addTask();
    return false;
});

А это функция addTask ():

function addTask() {
let newTask = new Task(
    $("#taskSummary").val(),
    $("#taskDescription").val(),
    $("#taskDueTo").val()
);

$.ajax({
    url: apiHost + "/task/add/",
    headers: {
        "contentType": "application/json"
    },
    type: "POST",
    async: true,
    dataType: "json",
    data: JSON.stringify(newTask),
    complete: function (xhr) {
        hideBusyIndicator();
        if (xhr.status === 201) {
            closeAddTaskForm();
        } else {
            alert(xhr.status);
        }
    },
});
}

1 Ответ

0 голосов
/ 08 июня 2019

Обнаружил проблему - благодаря @Randy Casburn.

Вызов addTask был как в $(document).on('submit', 'form', function()

, так и в <form onsubmit="addTask()">

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