【问题标题】:How to send a variable from ajax success to a template?如何将变量从 ajax 成功发送到模板?
【发布时间】:2012-01-05 00:47:30
【问题描述】:
是否可以在不刷新(静默)的情况下重新加载页面?
Here 是自动重新加载页面的示例。但是您可以很容易地看到页面在一定时间间隔后刷新。我不喜欢最终用户获得这种体验的地方。我希望页面重新加载但不刷新。最终用户不应该觉得该页面令人耳目一新。是否可以使用简单的html?还是 jquery?
我不想要 jquery 的 <META HTTP-EQUIV="refresh" CONTENT="5"> 或 setTimeout,因为它会在重新加载时刷新页面?
【问题讨论】:
标签:
javascript
jquery
html
ajax
【解决方案1】:
不要重新加载整个页面。只需使用 ajax 重新加载需要更新的组件即可。 jQuery 非常适合。
【解决方案2】:
在 ajax 请求中使用 setInterval。我会在 1 分钟内更新脚本。
var divid = 'yourDivsId'
function createRequestObject()
{
var obj;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
obj = new ActiveXObject("Microsoft.XMLHTTP");
}else{
obj = new XMLHttpRequest();
}
return obj;
}
function sendReq(req)
{
http.open('get', req);
http.onreadystatechange = handleResponse;
http.send(null);
}
function handleResponse()
{
if (http.readyState == 4)
{
var response = http.responseText;
document.getElementById(divid).innerHTML=response;
}
}
var http = createRequestObject();
setInterval('yourUrl', 30000); //or whatever time you want.
应该做的伎俩。