2012-11-20 107 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 –