У меня проблемы с асинхронной природой Javascript / JQuery.
Скажем следующее (задержка не учитывается, чтобы не создавать проблем):
У меня есть три кнопки (A, B, C) на странице, каждая из которыхкнопки добавляют товар в корзину с одним ajax-запросом каждый.Если я добавлю намеренную задержку в 5 секунд в серверный скрипт (PHP) и нажму кнопки с интервалом в 1 секунду, я хочу, чтобы результат был следующим:
Request A, 5 seconds
Request B, 6 seconds
Request C, 7 seconds
Однако результат будет таким
Request A, 5 seconds
Request B, 10 seconds
Request C, 15 seconds
Это должно означать, что запросы ставятся в очередь и не выполняются одновременно, верно?Разве это не противоречит асинхронности?Я также попытался добавить случайный параметр get в URL, чтобы придать запросу некоторую уникальность, но не повезло.
Я немного читал об этом.Если вы не используете тот же «объект запроса (?)», Эта проблема не возникнет.Можно ли заставить это поведение в JQuery?
Это код, который я использую
$.ajax(
{
url : strAjaxUrl + '?random=' + Math.floor(Math.random()*9999999999),
data : 'ajax=add-to-cart&product=' + product,
type : 'GET',
success : function(responseData)
{
// update ui
},
error : function(responseData)
{
// show error
}
});
Я также пробовал GET и POST, без разницы.
Я хочу, чтобы запросы отправлялись сразу после нажатия кнопки, а не после завершения предыдущего запроса.Я хочу, чтобы запросы выполнялись одновременно, а не в очереди.