[英]AJAX reload div after complete
单击并执行函数后,我只想重新加载一个div。
$('newThread').addEvent('submit', addThread);
function addThread(e){
e.stop();
var threadRequest = new Request.JSON({
url: 'control.php?action=createThread',
onSuccess: createThreadSuccess
}).post(this);
}
function createThreadSuccess() {
new Element('span',{
'text':'Post successful.'
}).inject($(threadList));
我一直在使用location.reload(true);
但是我是否正确地说这将重新加载整个页面,而不仅仅是重新加载div?
一旦执行了createThreadSuccess
我希望重新加载threadList div,我一直在使用此链接寻求建议,但在jsFiddle中似乎不起作用
请注意,我使用的是MooTools NOT jQuery
您不能“重新加载div”。 div
只是整个网页上的单个元素,它本身没有加载它的URL,因此无法重新加载。 您可以使用Ajax调用来设置/替换div的内容,但这绝对不是“重新加载”-您需要显式定义URL来加载其新内容。
如果要通过从远程URL加载div
的内容来显式替换div
的内容,则应使用Request.HTML
而不是Request.JSON
,并提供元素(或其ID)作为update
参数:
- update-(元素:默认为null)在请求完成时将请求的响应文本插入其中的元素。
如果您只是想在不进行远程加载的情况下替换元素的内容,则只需执行以下操作:
$('id-of-div').set('text', 'Text to be placed inside the element');
要么:
$('id-of-div').set('html', '<p>HTML ending up <em>inside</em> the div</p>');
或像使用new Element
调用一样构建整个子树。
至于第二个问题: location.reload()
只是window.location.reload()
简写,所以是的,它将重新加载整个页面(或框架)。 可能是因为窗口或框架实际上具有从其加载的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.