Просмотр полной версии : не загружается во флеш XML
У меня проблема: сделал загрузку xml во флеш. На локале все прекрасно работает, но выкладываю на сервер, и флеш уже не может подгрузить xml. Делаю все по правилам.
Вот код:
var xmlURL = "/flash/data/_data.xml";
var aaa:Array = [];
var myXML:XML = new XML();
myXML.ignoreWhite = true;
myXML.load(xmlURL);
myXML.onLoad = function(success){
if(success){
rootNode = myXML.firstChild.firstChild;
var i=0;
for (var aNode:XMLNode = rootNode; aNode != null; aNode = aNode.nextSibling) {
aaa = aaa.concat([
aNode.attributes["id"].toString(), aNode.attributes["title"].toString()]);
}
}
else {
trace("Ошибочка вышла");
}
}
Просто не понимаю в чем может быть проблема
Сам XML:
<datas>
<data id="1" title="name 1"></data>
</datas>
El Scream
17.11.2006, 17:45
теги [code][ /code] расставь пока я думаю ))
El Scream
17.11.2006, 17:49
проблемма в пути. для теста попробуй все в один каталог засунь и проверь с
var xmlURL = "_data.xml";
это первое.
Второе
и собссно не увидел куда ты энто все потом деваешь если XML нормально загрузилсо.
не помогает. Инфа вся кидается в массив
Вообще я сделал - все действия делаются в onLoad { } после загрузки xml
проблему решил, но появилась другая. щас проверю на сколько большая
El Scream
17.11.2006, 18:13
создай БОЛЬШОЕ тестовое поле, назови его trace_me и напиши так
myXML.onLoad = function(success){
if(success){
rootNode = myXML.firstChild.firstChild;
_root.trace_me.text="Загруженный XML:"+rootNode.toString();
var i=0;
for (var aNode:XMLNode = rootNode; aNode != null; aNode = aNode.nextSibling) {
aaa = aaa.concat([
aNode.attributes["id"].toString(), aNode.attributes["title"].toString()]);
}
}
else {
trace("Ошибочка вышла");
}
}
короче спасибо, в этом нет необходимости, XML читается, но изза rewrite'ов на сайте этот XML неправильно воспринимается и преобразуется получается чепуха. Но даже такой результат появился только после того как прописали в параметрах вывода flash'a allowAccessDomain = always, хоть воспринимать начал, но эту проблему буду решать уже не я.
Спасибо за ответы все равно!
1) не забывайте про utf-8
2) я рекомендую onLoad проверять еще и корректность xml:
myXML.onLoad = function(success){
if(!success){
//не загрузилось !
}else if(this.status < 0){
//некорректный xml !
}else{
//тут все ок.
}
}
В твоем случае, если ты адресом ошибешся, то все равно success, потому что сервак заботливо тебе подсунет страничку. Но это явно не то что тебе надо, что и отловится второй проверкой.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.