jQuery $ .get работает, но не $ .ajax - PullRequest
1 голос
/ 06 февраля 2009

Я новичок в 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);

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

Ответы [ 4 ]

5 голосов
/ 06 февраля 2009

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

2 голосов
/ 06 февраля 2009

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

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

     }));
1 голос
/ 06 февраля 2009

Если вы используете метод $ .ajax и хотите использовать функцию sucess, вам следует установить для параметра dataType значение xml.

0 голосов
/ 06 февраля 2009

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

да, я использовал 'aysnc' вместо 'async'

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

jdangel: я тоже пробовал, очевидно, это не сработало:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...