jquery返回null - 为什么?

时间:2010-05-12 13:28:40

标签: jquery find

我正在使用jquery ajax $ .get,它在我的服务器上调用php脚本并从另一个站点(域)检索内容。它返回完整的网页确定。然后我想使用.find()方法从'center'标签中提取html数据,但是我遇到了一些问题。

$("#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() );  

    });
});

前2个方法都返回'null',但当我将('result')html插入#BFX div时,它在我的显示器上正确显示,最终警报正常工作,它找到()s'中心'标记并在警报中显示html数据。

当尝试从返回的ajax数据'结果'中'找到'(')'中心'标记时,有人能够看到为什么我返回'null'(如在前2个警报中)。

感谢任何帮助

NIC。

2 个答案:

答案 0 :(得分:2)

你应该试试这个:

$("#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() );  

    });
});

答案 1 :(得分:0)

这里result的内容将取决于响应的MIME类型,如here所述。如果result只是文本,则$()函数会将其视为选择器。