У меня проблема с моим вызовом ajax. Я сделал одностраничное приложение с множеством вопросов. Когда вы нажимаете Next og previous, представление обновляет свое содержимое из массива. Поэтому, если индекс равен 0, а пользователь нажимает «Далее». Затем просмотр отображает содержимое из индекса 1. Я делаю это без использования обратных вызовов.
Моя проблема в том, что, когда пользователь нажимает «в следующий раз» или «предыдущий», я хотел бы сохранить ответ, который у него есть. Я использую ajax-вызов для вызова метода контроллера, который затем сохраняет содержимое.
function SendObjectToController(object, callback) {
if (object.question.questionFields[0].responseValue.length != 0) {
$.ajax({
type: "POST",
url: "data/postquestion",
data: JSON.stringify(object),
contentType: "application/json",
processData: true,
cache: false,
success: callback,
});
}
}
Когда пользователь завершит все вопросы, я должен быть сохранен в базе данных.
Когда я проверяю базу данных на предмет вопросов, некоторые из них отсутствуют, хотя пользователь ответил на каждый вопрос.
Я на 100% уверен, что на все вопросы был дан ответ.
Я попытался сделать успешный звонок, чтобы проверить, был ли он успешным или нет. Каждый раз это возвращало успех.
Я не опытен в AJAX. Но возможно ли, что я ставлю метод в очередь, прежде чем он будет сделан, и поэтому не обновляет мою базу данных или ?? Есть предложения?
Как это работает.
Ответ пользователя на вопрос 1. Нажмите Далее, -> Следующий вызов SendObjectToController ("с объектом) ->, а затем обновите мой индекс для отображения данных из индекса 1.
Может ли пользователь перегружать мой ajax-вызов просто быстрым ответом ??
Пожалуйста, помогите. Чрезвычайно запутался !!