jQuery ajax.load不会将HTML加载到div元素中

时间:2012-06-13 14:58:53

标签: jquery

这有点奇怪。我有一个解决这个问题的方法,但我想知道是否有人知道它为什么不起作用。我在名为shippingSelect的页面上有一个div元素。当我这样做时:

$('#shippingSelect').load('page.asp')

它不会将page.asp中的相应HTML加载到shippingSelect元素中。或者,如果我这样做:

$('#shippingSelect').load('page.asp', function(data){
    $('#shippingSelect').html(data);
});

这确实有效。这有什么交易?谢谢大家。

这正是正在加载的......不是整页:

<a href='#' onclick='getShipping(); return false'>Re-Calculate shipping</a> - <select name='ups_select' id='ups_select' onchange='calculateTotal(this.value);'><option value='13.04|03' selected>UPS Ground ($13.04)</option><option value='56.56|13' >UPS Next Day Air Saver - Gtd. 1 day ($56.56)</option><option value='96.52|14' >UPS Next Day Air. Early A.M. - Gtd. 1 day ($96.52)</option><option value='61.03|01' >UPS Next Day Air. - Gtd. 1 day ($61.03)</option></select>

3 个答案:

答案 0 :(得分:1)

这里唯一有意义的是.load做什么以及.html函数做什么根据传入其中的内容而有所不同。

你没有包含内容所以很难说它为什么会中断,但我打赌你加载的页面包含<html>元素以及你从不想要的各种其他内容加载到div。

你可能实际上并不想将整个页面加载到我们的div中只是它的一部分。最好在该部分放置一个id并加载该元素,如下所示:

$('#shippingSelect').load('page.asp #container')

see docs

答案 1 :(得分:0)

您是否错过了粘贴分号或者您是否错过了原始分号? $('#shippingSelect').load('page.asp');

答案 2 :(得分:0)

不建议将整个页面加载到div元素中,它有很多你不需要的额外内容。

首先尝试这个:

$('#shippingSelect').load('page.asp body');

要仅加载正文内容,如果没有运气,请在实际内容周围添加占位符,为其添加ID并将“正文”更改为“#id_here”。