2012-11-24 80 views
2

林試圖與jQuery的

var ng = $.get('/static/views/ng.html'); 
$('#myHeader').insertBefore(ng); 

這項工作ng.html包含此

<div id="ng"> 
    <div class="c all"></div> 
    <div class="f all"></div> 
    <div class="p all"></div> 
</div> 

它不特羅任何錯誤或這樣的結果,我認爲這是$ .get不返回正確的對象,但不知道如何繼續。

任何想法?

感謝

回答

4

由於請求是異步的,什麼是返回是查詢的一個承諾,而不是結果(尚未存在的)。

的慣用解決方案是將回調傳遞給get,這種回調被調用時,查詢的結果是可用的:

$.get('/static/views/ng.html', function(html) { 
    $(html).insertBefore('#myHeader'); 
}); 

您還可以使用返回的對象,承諾在該等效方式:

$.get('/static/views/ng.html').success(function(html) { 
    $(html).insertBefore('#myHeader'); 
}); 

請注意,我也反轉了接收器和參數insertBefore