Я создаю веб-сайт с использованием ASP. NET с большой клиентской стороной, которая заботится о многих событиях для сайта. На стороне клиента через AJAX я обновляю, удаляю и добавляю в базу данных (в этом порядке!). Мой вопрос в том, что порядок задач очень важен: сначала обновить базу данных, второй - удалить из базы данных, третье - добавить в базу данных: Должен ли я сделать синхронный вызов AJAX? изменив «async» на «false»? , или я должен оставить его как true по умолчанию? Какой подход следует принять?jquery ajax вызов синхронно для баз данных
ответ
U должен сделать это, отправив только один вызов ajax для всей необходимой вам операции и сделав это Ajax вызов асинхронной лжи.
в этом случае было бы лучше использовать вместо async: true
и цепочки ваших запросов, так что они происходят одно за другим.
$.ajax({
type:'put',
url: '/model/7256185',
data: {name: 'Lucy'}
}).then(function() {
return $.ajax({
type:'delete',
url: '/model/7256186'
});
}).then(function() {
return $.post('/model', {name: 'bob'});
}).then(function (result) {
console.log("All Done!");
console.log(result);
}, function() {
console.log('An error has occurred!');
console.log(arguments);
});
Это гарантирует, что запросы происходят в порядке, и это не приводит к тому, что ваша страница будет отображаться сломанной во время запросов (что происходит с синхронным req uest.)
Он также позволяет использовать загрузку gif, если вы того пожелаете. При синхронных запросах загрузка gif не будет вращаться.
Вы НЕОБХОДИМО использовать транзакции как в бизнесе, так и на уровне данных вашего бэкэнд.
Обычно я предпочитаю выполнять короткие задачи (каждый объект с собственными репозиториями) и поддерживать соединение как можно меньше в слое данных, а затем управлять транзакционной логикой на бизнес-уровне, используя, например, класс TransactionScope ,
После этого на самом деле не имеет значения, вызываете ли вы сервис/метод синхронно или асинхронно.
- 1. Синхронно Получение результатов из двух баз данных
- 2. вызов ajax не будет выполняться синхронно
- 3. Кэширование многих баз данных AJAX?
- 4. JQuery: запрос Ajax выглядит синхронно, блокировка браузера
- 5. Вызов различных баз данных доступа
- 6. Вызов javascript синхронно после создания ajax-запроса для нового содержимого
- 7. jquery - отправить сообщение синхронно (не ajax)
- 8. Обрабатывать несколько запросов Ajax синхронно
- 9. Ajax вызов в jquery для обновления моделей баз данных в Django
- 10. Вызов метода redis синхронно
- 11. AJAX: запросы процесса из базы данных синхронно
- 12. Task.Factory.FromAsync вызов выполняется синхронно
- 13. Ускорьте вызов jQuery ajax
- 14. jquery ajax вызов метода
- 15. Вызов синхронно в node.js
- 16. make nodejs вызов синхронно
- 17. Ajax несколько вызовов службы синхронно
- 18. Вызов службы WCF с JQuery и параметров синхронно
- 19. JQuery AJAX вызов запроса к базе данных
- 20. вызов Ajax внутри Ajax JQuery
- 21. JQuery Ajax двойной вызов
- 22. Обратный вызов JQuery Ajax
- 23. Замедлить вызов JQuery ajax?
- 24. для каждого данных jquery ajax
- 25. ли вызов $ .trigger выполнить обратный вызов синхронно
- 26. jQuery AJAX вызов дважды
- 27. jquery GET ajax вызов для нескольких страниц
- 28. jQuery Ajax вызов для кнопок в списке
- 29. ответ данных изображения от jquery .ajax в новый вызов ajax?
- 30. php jQuery ajax вызов для просмотра изображения из базы данных
Нет, оставьте это верно и не отправляйте второй запрос до первого завершения. Никогда не используйте синхронный ajax, если вы не пытаетесь что-то сделать во время клика или отправки события, которое приведет к перезагрузке страницы. –
Если вам нужно сделать 3 определенных обновления баз в определенном порядке, вы должны делать все 3 в рамках транзакции. –