2009-02-06 6 views
1

Я новичок в JQuery, и я использую запрос AJAX, чтобы получить XML в качестве ответа,

$.get("testurl",pars,function(data){ 
     xml = data; 
     $(xml).find("element").each(function(i,item){ 
     if(($(this).attr("id"))!= undefined){ 
     tab_str += "<tr><td>'id'</td><td>"+$(this).attr("id")+"</td></tr>"; 
     } 
     }); 

    });//get 

В приведенном выше коде я получаю XML обратно, как и ожидалось. Единственная проблема заключается в том, что мне нужно полностью построить таблицу до того, как остальная часть кода будет выполнена. Поэтому я решил использовать функцию $ .ajax с async false. Но на этот раз я ничего не получаю. (Проверить консоль Firebug, он показывает полный XML в разделе ответов)

var xml = ( $.ajax({ 
       type: "GET", 
       url: "testurl", 
       data: pars, 
       aysnc:false 

      }).responseText); 

В коде выше вар XML пуст. Почему это? Я делаю что-то неправильно? Пожалуйста, помогите. Заранее спасибо.

ответ

5

Если вы скопировали-н-вставить код в вашем примере, у вас есть async опечатка aysnc. Без этого параметра он будет выполняться асинхронно.

2

Я бы предположил, что ваш ответ не возвращается достаточно быстро? Вы пытались установить xml с помощью параметра success:?

( $.ajax({ 
     type: "GET", 
     url: "testurl", 
     data: pars, 
     aysnc:false 
     success: function() { 
      //set the right stuff here 
     } 

    })); 
0

Бог, я чувствую себя настолько глупым Адамом, спасибо за указание. Я бы не смог поймать его по крайней мере, не сегодня :)

да я использую «Асинхронный» вместо «» асинхронном

Кстати, мне нужно упомянуть, что я люблю этот форум. Я только вышла за кофе, и у меня есть два ответа ... ничего себе! вы, ребята, рок. Спасибо тонну за быстрый ответ.

jdangel: Я пытался, что слишком очевидно, что это не работает :)

+0

Переполнение стека не является форумом. Вы должны теперь пометить его ответ как принятый и, вероятно, дать ему некоторую репутацию. –

1

, если вы используете метод $ .ajax и вы хотите, чтобы ваша функция Sucess вы должны установить опцию DATATYPE в XML.

Смежные вопросы