我试图用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不返回正确的对象但不知道如何继续。
有什么想法吗?
由于
答案 0 :(得分:4)
由于请求是异步的,所返回的是一个promise,而不是查询的结果(尚不存在)。
惯用解决方案是将回调传递给get,当查询结果可用时调用此回调:
$.get('/static/views/ng.html', function(html) {
$(html).insertBefore('#myHeader');
});
你也可以用这种等价的方式使用返回的对象:
$.get('/static/views/ng.html').success(function(html) {
$(html).insertBefore('#myHeader');
});
请注意,我也反转了insertBefore的接收器和参数。