我想要实现的是在不重新加载整个页面的情况下重新加载页面上的div的内容,我想在照片上传后重新加载div,这样新上传的照片就可以从数据库中加载,但我不想重新加载整个页面,但是代码不起作用,而是将整个页面加载到下面的函数ajaxLoad(){
var loadUrl = window.location.href;
// $(".carouser-inner ").load(loadUrl);
$(".carouser-inner ").load(loadUrl+".carouser-inner ");
}
我在ajax成功后调用该函数,但下面是我得到的结果
我想要的
但下面是我得到的,在我重新加载页面后,它现在恢复到我想要的正常状态
任何关于如何实现这一点的帮助都将不胜感激,谢谢
发布于 2017-12-25 02:18:25
作为documentation of jQuery's .load(),您需要在url和选择器之间留一个空格,因此:
$(".carouser-inner ").load(loadUrl+" .carouser-inner");
发布于 2017-12-25 02:18:49
首先清除div,然后设置div的内容。你可以用一个函数清除它,如果你需要做的就是简单地设置.innerHTML = ""
,也许是clearDiv()
。
使用AJAX/XHR/Fetch获取内容将是异步的,因此您需要将其架构为一个.Promise
,并将其解析为.then
,设置内容。
发布于 2017-12-25 05:31:49
这完全取决于您使用load()调用的url返回的内容。在load()中使用的url似乎返回了整个页面的HTML。
相反,您希望与load()一起使用的url只返回要加载到div中的html部分
所以你的jquery调用没有问题,需要修复的是load()所使用的url返回的值。这是一个服务器端问题,与jquery代码无关。
因此,简而言之:修复方法是修复load()使用的url,只需使其返回所需的部分html即可。
HTH
https://stackoverflow.com/questions/47965213
复制相似问题