У меня было это раньше.
Обычно у вас есть проблема с областью видимости - у вас есть что-то подобное в вашей функции sendReq ()?
if (window.ActiveXObject)
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
И поэтому, когда вы делаете второй запрос, объект xmlhttp перезаписывается
Вам нужно создать замыкание, при котором ваши объекты xmlhttp не конфликтуют
1010 * например *
function sendReq(url, callbackFunction)
{
var xmlhttp
if (window.ActiveXObject)
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
... probably some other stuff here, setting url etc ...
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState==4&&xmlhttp.status='200')
{
if (callbackFunction) callbackFunction(xmlhttp.responseText);
}
}
.. probably more stuff here ( including xmlhttp.send() ) !! ...
}
затем вы можете передать функцию обратного вызова в качестве параметра, и когда данные будут успешно загружены, они будут переданы в функцию обратного вызова. Обратите внимание, что вам нужно будет передать фактическую функцию, а не только ее имя (поэтому без кавычек вокруг имени функции)
В качестве альтернативы, вы можете делать то, что я делаю, просто использовать jQuery - работает для большинства моих проблем с js;)
Надеюсь, это поможет