두 가지 정시 에 부분 페이지 를 새로 고 치 는 방법 - 비동기 프로 세 스 를 사용 합 니 다.
11111 단어 사이트 디자인
function reloadView(){
$.ajax({
url:'${oneway}/index?event=reloadView',
type:'POST',
async:true, // false,
success:function(result){
//eval() , JavaScript 。
// String
var datas= eval(result);
var accessCountDiv = document.getElementById("accessCount"); // div
accessCountDiv.innerHTML = ""; // Div
var accessCount = datas[0]; //
for(i=0; i//
var div = document.createElement("div"); // div
div.className = "lishi0"; // div class
var img = document.createElement("img"); // img
img.className = "lishi3-1";
img.src = "img/lishi1.png"; // img src
var p = document.createElement("p"); // p
p.className = "lishi3-2";
var txt = document.createTextNode(accessCount[i]); //
p.appendChild(txt); // p
div.appendChild(img); // img div
div.appendChild(p);
accessCountDiv.appendChild(div); // div
}
},
error: function (XMLHttpRequest, txtStatus, errorThrown)
{
//alert(XMLHttpRequest + "
" + txtStatus + "
" + errorThrown);
}
});
}
/**
*
* setTimeout( , ) , , , ,
* setInterval( , ) , ,
*/
setInterval('reloadView()',15000); // 15
2. 사용자 정의 비동기 접근 절차
function HttpRequest() {
}
HttpRequest.prototype.createXMLHttpRequest = function() {
var xmlHttp = false;
if (window.ActiveXObject) {
var clsids = ["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP.2.6","Microsoft.XMLHTTP.1.0", "Microsoft.XMLHTTP.1","Microsoft.XMLHTTP"];
for(var i = 0; i<=clsids.length; i++){
try {
xmlHttp = new ActiveXObject(clsids[i]);
} catch(e) {
// , ..
}
if(xmlHttp) {
break;
}
}
} else if (window.XMLHttpRequest) {
try {
xmlHttp = new XMLHttpRequest();
} catch (e) {
xmlHttp = false;
}
}
return xmlHttp;
};
/**
ajax ,
action:url
parameters:url , "param=123&obj=234&sdf=as", , null
callbackFun:
*/
HttpRequest.prototype.simplePost = function(action, parameters, callbackFun) {
var oRequest = HttpRequest.prototype.createXMLHttpRequest();
oRequest.open("post", action, true);
oRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=GBK");
if (!parameters) {
parameters = null;
}
oRequest.onreadystatechange = function() {
if(oRequest.readyState == 4) {
if(oRequest.status == 200) {
if (callbackFun) {
callbackFun(oRequest.responseText);
}
}
}
}
oRequest.send(parameters);
};
/**
ajax ,
action:url
parameters:url
:
*/
HttpRequest.prototype.simpleSynPost = function(action, parameters) {
var oRequest = HttpRequest.prototype.createXMLHttpRequest();
oRequest.open("post", action, false);
oRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=GBK");
if (parameters === undefined || parameters === null || parameters.toLowerCase() === "null") {
parameters = null;
}
oRequest.send(parameters);
if(oRequest.readyState == 4 && oRequest.status == 200) {
return oRequest.responseText;
} else {
return undefined;
}
};
/**
*
*/
var callBack = function(result){
//eval() , JavaScript 。
// String
var datas= eval(result);
var accessCountDiv = document.getElementById("accessCount"); // div
accessCountDiv.innerHTML = ""; // Div
var accessCount = datas[0]; //
for(i=0; i//
var div = document.createElement("div"); // div
div.className = "lishi0"; // div class
var img = document.createElement("img"); // img
img.className = "lishi3-1";
img.src = "img/lishi1.png"; // img src
var p = document.createElement("p"); // p
p.className = "lishi3-2";
var txt = document.createTextNode(accessCount[i]); //
p.appendChild(txt); // p
div.appendChild(img); // img div
div.appendChild(p);
accessCountDiv.appendChild(div); // div
}
}
/**
*
* , param null,
*/
function reload(){
var param = null;
HttpRequest.prototype.simplePost("${oneway}/index?event=reloadView", param, callBack);
}
/**
*
* setTimeout( , ) , , , ,
* setInterval( , ) , ,
*/
setInterval("reload()", 15000); // 15
그러나 Jquery 의 ajax 에 도 메 인 접근 문제 가 있 을 수 있 습 니 다.사용 시 조심해 야 한다