Хотелось бы узнать, можно ли использовать сразу несколько запросов независимых друг от друга для общения, так сказать, сервера с браузером? Прочтя книгу Бретта Маклафлина "Изучаем AJAX" мною было понято следующее: несколько запросов можно создать! Автор это делает следующим образом:
function createRequest() {
var request = null;
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxm12.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = null;
}
}
}
if (request == null) {
alert("Error creating request object!");
} else {
return request;
}
}
var req1 = createRequest();
var req2 = createRequest();
// и т.д.
Теперь можно создавать несколько запросов,
но! При вызове браузером обратной функции должен проверяться статус того или иного запроса, прально? Да! В книге эти запросы фиксированы, то есть мы знаем что у нас есть такой запрос (
req1) и такой запрос (
req2). C помощью функции if-else можно легко определить и статус и всё остальное что касается этого запроса. Да даже что там определять, ведь то что стоит проверить задаём мы. Вот что я имею в виду:
if (req1.readyState == 4) {
if (req1.status == 200) {
...
...
}
else if (req2.readyState == 4) {
if (req2.status == 200) {
...
...
}
как создать запрос различающийся от предыдущего понятно. Для этого можно передать в функцию createRequest() например
id запроса. А вот как разобраться с обратным ответом сервера? Как узнать на какой запрос ответил сервер если этих запросов может быть сколько угодно?
Буду очень признателен если кто-нить поможет разобраться в этой хитрой штукенции!