AJAX包括无需加载的页面
AJAX including pages without loading
我遇到了一个挑战:
如何使用AJAX在页面上重新加载<div>
,而没有加载栏,并且在加载内容时不会消失。
我想保持以前生成的内容,只要新内容加载。
这是我的脚本,但是当在循环中加载内容时,它会闪烁:
<script type="text/javascript">
function showCargo_34(urlparms)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttpshowCargo_34=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttpshowCargo_34=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttpshowCargo_34.onreadystatechange=function()
{
if (xmlhttpshowCargo_34.readyState==4 && xmlhttpshowCargo_34.status==200)
{
document.getElementById("Cargo_34").innerHTML=xmlhttpshowCargo_34.responseText;
}
}
xmlhttpshowCargo_34.open("GET","modules/desktop/desktop/script_cargo.php?"+urlparms,true); // modules/catalogitem/script_categorylist.php?"+urlparms
xmlhttpshowCargo_34.send();
};
</script>
<div id="Cargo_34"></div>
<script>
function repeat_Cargo_34() {
showCargo_34('baseid=1&moduleid=10&gridmoduleid=133&speed=180&x=3&y=4');
setTimeout( repeat_Cargo_34, 20000);
};
repeat_Cargo_34();
</script>
我将使用jquery ajax。这样更快更简单。
简单方法$("#element_id").load("http://url.com");
更高级的方法可以在这里找到
你还说要保留以前的内容。我们只需对innerHTML:
使用+=document.getElementById("Cargo_34").innerHTML += xmlhttpshowCargo_34.responseText;
如果你不想使用jquery,我建议创建第二个ajax函数,并使当前函数更改为不可见的div,当加载和更改完成时,您将返回以下行
//Echo this once all data has been loaded and changed.
//$newurlPalms is what you would have echoed normally but in a urlpalm.
echo "<style onload='showCargo2($newurlpalms)'></style>";
//so make this only load and save all the data and then echo above line in
//a hidden div
function showcargo(urlpalms){ajaxcode}
//make this show the data in the right div.
function showcargo2(urlpalms){ajaxdoce}
像这样的,它不会删除数据,一旦加载完成,echo将导致第二个函数自动运行,它能够立即显示数据。
使用jQuery的AJAX,这更容易。看看load()函数,例如setInterval。例如:
setInterval(function(){ $('#div').load('file.html'); }, 5000}
每5秒它将加载file.html到<div id="id">
这种情况不存在。
解释:
标准的html请求调用,因为它是在我的问题不把innerHTML
的内容,而加载。这意味着当内容被加载时,它将按原样显示,直到内容以JSON格式完成并且ajax调用函数完成。
错误在代码的另一部分
相关文章:
- 根据下拉值包括或加载php
- Jquery无休止滚动加载来自其他站点的内容
- 无刷新功能的Ajax内容加载
- 为什么AngularJS在页面加载时没有自动绑定属性?包括一个非常简单的例子
- Ember.js在模板渲染上加载jquery(无刷新)
- 防止在 Jquery 表单提交时加载页面,但“无”显示按钮
- Highcharts - 无法使用 JSON / 无 PHP 加载外部数据
- TypeError: e.fixers 是动态加载的 iframe 上无前缀的未定义错误
- Rails,有条件的,包括Javascript(如果未加载)
- 删除不需要的javascript和css是否包括减轻网页加载时间
- 加载时随机全屏视频背景(包括 jsfiddle)
- HTML5历史API弹出状态重新加载野生动物园刷新页面无休止
- 检测 Office 加载项主机而不包括 office.js
- 如果元素显示:无;在媒体查询中,它们是否仍然加载
- 如何加载内容(包括内容的图像),然后淡入
- 包括四个.js文件,但只加载了一个??为什么
- 包括.js但无法加载资源
- 强制使用 Javascript 在 Chrome 中重新加载页面 [无缓存]
- 在页面加载(包括 AJAX 调用)时调用的 JavaScript 函数的注册表
- 如果Hybrid应用程序从远程服务器加载包括javascript在内的资源,苹果会拒绝它吗