Я пытаюсь вызвать запрос JQuery GET на успешное завершение запроса POST. Функции работают, и данные передаются из запроса GET, однако он отвечает перед POST.Вызов jQuery Get after Post
function getCartCount() {
var d = new Date().getTime();
$.get("/ajax/countCart.php", { "rand": d }, function(res) {
$("#view-cart").text(res);
alert(res);
});
}
$(".products form img").click(function() {
$.post("/ajax/addToCart.php", $(this).parent("form").serialize())
.done(function(data) {
alert(data);
})
.always(getCartCount());
});
Приведенный выше код выдает окно предупреждения из запроса GET сначала тогда окно предупреждения от POST, который не является идеальным, как значение от GET зависит от POST завершается первым.
См. http://www.cccomforts.co.uk/small-furries для вывода.
Неверный ответ - правильный ответ - от @Quentin. OP намеревается вызвать 'getCartCount()' в всегда обратном вызове, он просто вызвал функцию вместо передачи ссылки на функцию как аргумент 'always()'. При этом, вероятно, имеет смысл просто положить 'getCartCount()' в выполненный обратный вызов, потому что, похоже, не имеет смысла вызывать этот метод, когда ваш исходный пост не удался. – Adam
OP говорит, что он хочет называть GET успешным завершением POST. Таким образом, лучший способ сделать это - сохранить GET-вызов внутри .done. Вот почему ответ. – Sam
Благодаря @Sam ваше исправление работает, такая простая вещь, чтобы игнорировать, а также! –