2011-01-26 2 views
0

Привет, ребята, как я могу предварительно загрузить внешний XML-файл в Javascript/jQuery?Предварительная загрузка XML через jQuery или Javascript

Это мой XML-погрузчик:

jQuery.ajax({ 
      type: "GET", 
      url: dictionaryList, 
      dataType: ($.browser.msie) ? "text/xml" : "xml", 
      success: function(xml) { 
       var xml2 = load_xml(xml); 
       var i=0; 
       $(xml2).find('wordle').each(function(){ 
        $(xml2).find('w').each(function(){ 
         var tmpHold = $(this).text(); 
         if (tmpHold.substring(0, 1) == letter) { 
          if ($(this).attr('p') == 1) { 
           wordColor = 'color: #693030'; 
          } else { 
           wordColor = 'color: #5a5a5a'; 
          } 
          $('#wordList').append('<li class="w" style="'+wordColor+';">'+$(this).text()+'</li>'); 
         } 
        }); 
       }); 
      } 
     }); 
+1

'dataType' должен всегда быть' xml', независимо от того, какой браузер. – jAndy

+1

@jAndy - Мне пришлось добавить это, чтобы заставить webkit & IE играть в мяч. –

ответ

1

одна возможность, и это звучит как это то, что вы хотите, было бы отправить документ ответа, (XML) выше, к переменной, которая может быть обработана по требованию в позднее время, основанное на каком-то событии.

сохраненный XML-документ и функция обработки xml будут жить в объекте, а функция обработки xml будет вызываться на основе триггера события, а не события события ajax. если это не имеет смысла, дайте мне знать, и я могу предоставить некоторый пример кода ...

также, я бы порекомендовал добавить ошибку: функция для вызова ajax, если у вас ее еще нет.

+0

Это хорошая идея - Спасибо! –

0

Я думаю, что это хорошо держать бэкэнд XML генератор/ретривера сценарий в случае, если вы хотите, чтобы получить XML из другого домена.

 

jQuery.ajax({ 
    type: "GET", 
    url: XML_GENERATE_BACKEND_URL, // data.xml, /generate/xml etc. 
.. 
.. 
.. 
 

Султан

+0

Извините, я не понимаю. У меня уже есть этот код, и я вообще не генерирую * никакого * XML (и это будет размещение только на одном домене ...). –

+0

) Чем проблема, с которой вы уже выполнили свою задачу? – sultan

+2

PREload ... preload preload preload –