У меня есть 2 функции js, request () и response ().
Запрос вставляет динамический тег сценария в DOM, загружая некоторый «сценарий» с сервера.
Сценарий, который приходит с сервера, настроен на вызов response ().
Теперь, если я немедленно совершаю 5 вызовов один за другим, и если первый еще ждет, следующие 4 вызова все еще выполняются, ответ возвращается (я видел это из Firebug), но response () не вызывается пока не вернется первый.
Это происходит только в Firefox. :(
Почему это не вызывает функцию?
PS:
- если первый запрос задерживается, я
не волнует его результаты, я хочу
последний загружаемый и
ответ на звонок без задержек ..
- Я пробовал $ .ajax с dataType, установленным в 'jsonp', чистая вставка тегов скрипта в стиле javascript и $ .getScript. Кажется, с FF ничего не получается: (
Редактировать: Для тех, кто запрашивал образцы кода:
function request(){
var URL = 'http://xxx.xxx.xxx.xxx/cgi-bin/response.php?callback=?';
callHandle = $.getScript(URL);
}
function response(data){
alert(data);
}
функция запроса вызывает PHP-скрипт сервера, который имеет следующий код:
$data = $_GET['callback']; //using just to identify request uniquely.
sleep(rand(1,10));
echo "response(".$data.")";
Теперь, если первый запрос занимает 10 секунд, а второй запрос занимает 2 секунды, ответ должен быть отозван для второго запроса. Но он получает ответ, а вместо предупреждения ждет завершения первого запроса в Firefox. Почему это так?