Ali_vavan2009
Member
سلام دوستان
امروز یه سوال دارم که اگه این رو کمک کنید ممنون میشم
چون در http://forum.majidonline.com/showthread.php?t=180399 هیچ جوابی ازتون نگرفتم.
من دارم یک سایت با AJAX درست می کنم و یک تابع برای استفاده از AJAX نوشتم و خیلی هم خوب کار می کنه.
اما یک مشکلی که دارم نمی دونم چطوری تایع get رو تغییر بدم تا بتونم همزمان در یک صفحه از چند XMLHttp استفاده کنم تا از ایجاد توایع اضافه جلوگیری کنم.
چون خوده تابع get همه کارهای مورد نیاز منو رو انجام میده.
Ajax.js
من فقط می خوام از تکرار جلوگیری کنم.
و لطفا استفاده از JQuery را پیشنهاد ندهید.
باتشکر
امروز یه سوال دارم که اگه این رو کمک کنید ممنون میشم
چون در http://forum.majidonline.com/showthread.php?t=180399 هیچ جوابی ازتون نگرفتم.
من دارم یک سایت با AJAX درست می کنم و یک تابع برای استفاده از AJAX نوشتم و خیلی هم خوب کار می کنه.
اما یک مشکلی که دارم نمی دونم چطوری تایع get رو تغییر بدم تا بتونم همزمان در یک صفحه از چند XMLHttp استفاده کنم تا از ایجاد توایع اضافه جلوگیری کنم.
چون خوده تابع get همه کارهای مورد نیاز منو رو انجام میده.
Ajax.js
کد:
function $(id){
return document.getElementById(id);
}
function GetXMLHttpObject(){
var XMLHttp = null;
try{
XMLHttp = new XMLHttpRequest();
}
catch(e){
try{
XMLHttp = new ActiveXObject("Msxml2.XMLHttp");
}
catch(e){
XMLHttp = new ActiveXObject("Microsoft.XMLHttp");
}
}
return XMLHttp;
}
function get(send_method, program, page, send, get_by){
XMLHttp = GetXMLHttpObject();
var method = send_method.toUpperCase();
var file = "programs/"+ program +"/"+ page;
if(method == "GET"){
file = file +"?"+ send;
send = null;
}
XMLHttp.open(method, file, true);
if(method == "POST"){
XMLHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
XMLHttp.setRequestHeader("Content-length", send.length);
XMLHttp.setRequestHeader("Connection", "close");
}
var get = get_by.toLowerCase().split(":");
if(get[0] == "id"){
XMLHttp.onreadystatechange = function(){
if(XMLHttp.readyState==4){
var cacheResponse = XMLHttp.responseText;
$(get[1]).innerHTML = cacheResponse;
runScript(cacheResponse);
}else{loading(get[1])}
}
}
if(get[0] == "function"){XMLHttp.onreadystatechange = eval.call(window, get[1]);}
XMLHttp.send(send);
}
function runScript(cacheResponse){
if(!!window.execScript){
window.execScript(getScript(cacheResponse));
}else{
eval.call(window, getScript(cacheResponse));
}
}
function getScript(response){
var scripts;
response.replace(/<script[^>]*>([\s\S]+)<\/script>/gi, function(match, scr){
scripts = scr;
});
return scripts;
}
function loading(id){
$(id).innerHTML = "<p align=\"center\"><img src=\"loading.gif\" border=\"0\"><br><br>... در حال بارگزاری</p>";
}
من فقط می خوام از تکرار جلوگیری کنم.
و لطفا استفاده از JQuery را پیشنهاد ندهید.
باتشکر