2012-11-20 151 views
1

以下代码将“未定义”的警报发送到屏幕。我想提醒html#div为什么我的警报不显示我希望它显示的DIV?

$.ajax({ 
     type: "POST", 
     url: pageurl, 
     dataType: "html", 
     success: function(data){ 
      alert($(data).children("#div").html()); 
     }  
    }); 

我可以在负荷做这样的事情,但我不认为我被允许:

url: pageurl + ' #div' 

我怎样才能解决这个问题?

UPDATE:基于@Murali的建议,我已经试过以下,但它仍然不表现为我想:

<html> 
<head> 
<script type="text/javascript" src="jquery-1.8.2.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
    $.ajax({ 
      type: "POST", 
      url: 'index.html', 
      dataType: "html", 
      success: function (data) {      
       alert($(data).find('#site-content').html()); 
      } 
     }); 
}); 
    </script> 

<title></title> 
</head> 
<body> 
<div id="site-content"> 
    some data</div> 
</body> 
</html> 
+0

原始'data'字符串是什么样的? – BenM

+0

你的意思是,你想采取你的回应的特定部分? –

+0

您是否试过提醒您的数据 – rahul

回答

2

尝试

更改此

$(data).children("#div").html() 

$(data).find('#yourDivId').html() 

注意:yourDivId - >给出div的id。在你的代码中提到的 '#div' 不知道是否真的是你的代码是这样<div id='div'>

代码,我index.html中

​​

试图

在page.html中

<head> 
<title></title> 
</head> 
<body> 
<div id="site-content"> 
    some data</div> 
</body> 
</html> 
+0

,这给了我相同的结果:未定义。 –

+0

尝试警报$(数据).length并查看。如果你没有看到,那么没有来自服务器的HTML响应 –

+0

我得到83 ---我会有更大的数字,虽然 –

0

你确定

$(data).children("#div") 

return definded element? 试试这个:

String($(data).children("#div").html()); 

,或者尝试

console.log($(data).children("#div").html()); 

的放心返回的数据字符串,不是空的。

+0

否$ (data).children(“#div”)没有返回已定义的元素,我不明白的是#div肯定存在,但是当我看到alert(data)时,也许我会在字符串和jquery对象 –

+0

数据必须是jQuery选择器的字符串或json对象,数据可以是“#parent-id”,你的html必须是“

”才能返回true –