Теперь возникает моя проблема: если у меня есть файл XML, сохраненный на том же диске, что и HTML-страница, и я адресую его следующим образом: xmlhttp.open ("GET", "floor.xml", false); это работает нормально, но когда я передаю URL, это не так. Что еще я должен сделать в случае загрузки XML с URL?
Ответ: Вас отключает одна и та же функция безопасности домена в браузерах. Вызов Ajax должен относиться к тому же домену, с которого была загружена сама страница.
мой второй вопрос: я хочу использовать текстовые значения, возвращаемые
xmlDoc.getElementsByTagName ( "Dimention") [I] .getAttribute ( "х")
в выражении if, подобном этому:
if (valuereturned = 2.00)
{do sth}
Каков наилучший способ сделать это, поскольку возвращаемое значение является текстом.
Ответ:
Прежде всего, вы хотите, чтобы тест на равенство (==) не назначался (=).
Во-вторых, приведение типов может сработать (но вам, возможно, придется изменить операнды):
if (2.00 == valuereturned)
{do sth}
Но гораздо лучше конвертировать явно:
if (parseFloat(valuereturned) == 2.00)
{do sth}
Если вы действительно хотите сравнить с 2 (а не с плавающей точкой 2.0), тогда вам будет безопаснее (более надежно) сравнивать целые числа:
if (parseInt(valuereturned) === 2)
{do sth}
Если вы придерживаетесь чисел с плавающей запятой, вы, вероятно, захотите сделать некоторое округление, поскольку поиск точно совпадающих значений с плавающей запятой обычно не тот, который вы хотите.