JQuery возвращает ноль - почему? - PullRequest
2 голосов
/ 12 мая 2010

Я использую jquery ajax $ .get, который вызывает скрипт php на моем сервере и получает контент с другого сайта (домена). Это полная веб-страница, хорошо. Затем я хочу извлечь html-данные из тега 'center' с помощью метода .find (), но у меня возникли некоторые проблемы.

$("#btnGetData").click(function(){
  $.get("pgiproxy.php",{ data: $("#formdata").serialize() },
    function(result) {

      alert($(result).find('center').html()); 

      val = $(result).find('center').html();
      alert(val);

      $('#BFX').html(result);
      alert( $('#BFX').find('center').html() );  

    });
});

Первые два метода оба возвращают 'null', но когда я вставляю html ('result') в div #BFX, он правильно отображается на моем мониторе, последнее предупреждение работает правильно, он находит () центр 'и отображает html-данные в предупреждении.

Кто-нибудь может понять, почему я возвращаю 'null' (как в первых 2 оповещениях) при попытке 'найти ()' тега 'center' из возвращенных данных ajax 'result'.

Любая помощь приветствуется

Nic.

Ответы [ 2 ]

2 голосов
/ 12 мая 2010

вы должны попробовать это:

$("#btnGetData").click(function(){
  $.get("pgiproxy.php",{ data: $("#formdata").serialize() },
    function(result) {
      var temp = $('<div/>').html(result);

      alert(temp.find('center').html()); 

      val = temp.find('center').html();
      alert(val);

      $('#BFX').html(result);
      alert( $('#BFX').find('center').html() );  

    });
});
0 голосов
/ 12 мая 2010

Содержимое result здесь будет зависеть от типа ответа MIME, как указано здесь . Если result это просто текст, функция $() будет рассматривать его как селектор.

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