У меня есть простой вызов jQuery Ajax, который получает HTML-результаты из файла PHP (который просто выполняет запрос mysql и форматирует результаты в списке). Проблема, с которой я сталкиваюсь, заключается в том, что весь этот вызов Ajax занимает около 12 секунд (время ожидания ответа в Firebug - 12.3 с), но когда я просто загружаю страницу PHP с теми же параметрами URL в моем браузере, вся страница загружается примерно в 300 мс (и когда я просто запускаю SQL-запрос, который вызывает файл PHP, он занимает менее 1 мс).Задержка при получении результатов Ajax с использованием jQuery
Некоторые другие замечания, которые могут помочь:
- Размер данных Ajax является 2К, так что я не думаю, что его из-за этого.
- Данные взяты намного быстрее, чтобы загрузить (около 4.3 секунд), если один и тот же вызов ajax выполняется с теми же параметрами после того, как он был запущен один раз до этого (даже если у меня есть Cache-Control для страницы, установленной на: private, нет-магазин, нет кэша, нужно обязательно перепроверять, после проверки = 0, предварительно проверить = 0)
Вот исходный код JQuery для вызова Ajax:
$.ajax({
url: "./lib/hippofunctions.php",
type: "GET",
dataType: "html",
data:
{
"ajax_action" : "get_hippos_for_tags",
"curTags" : currentCheckedTags,
"sortBy" : sortBy,
"params" : checkedFriendsStr,
"location" : location,
"start" : start
},
error: function(request){my_alert("error on ajax_getHipposfortags ")},
success:function(data){
$("#HippoContainer_inner").html(data);
}
})
}
любые мысли или предложения, почему он так долго принимает данные Ajax и как я могу ускорить это?
вы пробовали войти в разговор с HttpFox или подобное? Обратите особое внимание на то, где задержка. – cletus
Да, это в значительной степени показывает мне то же самое, что и Firebug. единственный запрос делается на страницу PHP, которую вызывает функция ajax. – Antony