Потому что sound
содержит не один из объектов, а весь массив.
Попробуйте sound[0]
выбрать реальный звуковой объект:)
Хорошо я разрешил, что это при помощи попытки... ловит вокруг xmlhttprequest.send
:
xmlhttp.open("POST","Page.aspx",false);
try
{
xmlhttp.send(null);
}
catch(e)
{
alert('there was a problem communicating with the server');
}
Попробуйте свойство тайм-аута.
xmlHTTP.TimeOut= 2000
Вы не проверяете на правильно возвращенное состояние. Кодом Вы дали Вам, делают ПОЛУЧИТЬ запрос. Для надлежащей проверки состояния запроса необходимо создать обработчик событий для onreadystatechange события и затем в нем проверка, если readyState свойство равно 4 и затем в методе, если состояние 200.
Можно найти подробное объяснение здесь: Учебное руководство по Ajax Mozilla
xmlhttp.onreadystatechange=function()
xmlhttp.open("GET","Page.aspx",false);
{
if (xmlhttp.readyState==4)
{
if (xmlhttp.status==200)
{
//Ajax handling logic
}
}
}
xmlhttp.send(null);