ابتدا عذر خواهی از دوستانی که پیگیر بودند داشته باشم برای تاخیر ادامه آموزش ، که این مورد به خاطر شاهکار یکی از دوست صمیمی و عزیز بنده بود ؟! که درپروژه ای که با هم کار کردیم (چندیدن ماه پیش) ایشان کد خام اجکسی که نوشته بودم رو با کد های JQuery عزیزشان مخلوط کرده بودند و ... خلاصه وقتی می خواستم کد رو برای شما کپی کنم از این موضوع باخبر شدم و بد تر اینکه فایل های پشتیبان از نسخه قبلی رو هم گم کرده بود و....
و این موارد به کنار ، خودم هم شدیدا مشغول انجام یه پروژه دیگه بودم که بس از شی xmlhttprequest داخل اون پروژه کار کردم که کلا به این شی آلرژی پیدا کردم و خدا رو شکر بعد یه 20 تا 25 روز این مورد حل شده و در خدمت شما هستم.
این تابع نتیجه کار چندید روزه من هست که چندین ماه پیش (شاید 5 تا 6 ماه پیش ، شاید هم بیشتر..) این رو نوشتم بودم که الان از بین کد های JQuery برای شما جدا کردم و یه مثال ساده و کوچک هم برای آموزش ساختم.
این تابع به احترام کشورمان و همه عزیزان اسمش رو گذاشتم "PersianAjax"
که امیدوارم مورد توجه و استفاده دوستان قرار بگیره.
متن تابع (به همراه کپی رایت) : (سمت کلاینت)
//================================================== =====================================//
//PersianAjax!!
//Full Function Of kernel Ajax in 3 Parameters:
//AjaxSendFunc(URL,Variable,NameDIV);
//
//URL : Uniform Resource Locator
//ForExam = www.google.com
//
//Variable : Send Text Request To Server And Take Text Response Of Server To Clint!
//ForExam = "Hello"
//
//NameDIV:The Text In The DIV Going To Catch It!For Show Information!
//ForExam = "MainDiv"
//
//
//Write For Barnamenevis.org's Members.
//@Copyright (C) 2010 Amin Ghaderi - IRAN -Mashhad.
//@license http://www.gnu.org/copyleft/gpl.html GNU/GPL
//================================================== ======================================//
//======================================//
//Start Ajax Cod //
//======================================//
// Global Variable //
//-----------------//
var xmlHttp = null;
var ContentDIV;
var SelectionID = null;
// Global Function //
//-----------------//
function Create()
{
if (window.ActiveXObject)
{
xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');//Internet Explorer 6 And Previous versions.
}
else
{
xmlHttp=new XMLHttpRequest();//All Of Browser Except Internet Explorer 6 And Previous versions.
}
return xmlHttp;
}
function AjaxSendFunc(URL,Variable,NameDIV)//Main Function.
{
Create();
update(NameDIV);
xmlHttp.open('GET',URL +'?Variable='+Variable,true);
xmlHttp.onreadystatechange= update;//"update" is Not Function! It Is Variable in Kernel Ajax!
xmlHttp.send(null);
}
function update(SelectedDIV)//is Not == "update" In the Top sentence!
{
if((SelectedDIV!='[object Event]')&&(SelectedDIV!=undefined))// Retern Java Then 'SelectedDIV' Is empty!! ([object Event]==Null).
{
ContentDIV = SelectedDIV;
}
// if(xmlHttp.readyState==0)
// {
// alert("Cod 0"); // Object Is Not Complet!
// }
// if(xmlHttp.readyState==1)
// {
// alert("Cod 1"); //Object Is Configuration!
// }
// if(xmlHttp.readyState==2)
// {
// alert("Cod 2"); //Sending Request In Server!
// }
// if(xmlHttp.readyState==3)
// {
// alert("Cod 3"); //Request is Processing...!
// }
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
var message = xmlHttp.responseText;
//'ContentDIV' Is Your DIV desired , For Show Information!
document.getElementById(ContentDIV).innerHTML=mess age;
//alert("Cod 4"); // Request Is Complet!!!
}
else
{
alert("خطا در دریافت اطلاعات!! لطفا دوباره امتحان کنید!! در صورت عدم پاسخ مورد را به پشتیبان فنی اعلام نمایید.");
}
}
}
//--------------------------------------//
//End Ajax Cod .
//--------------------------------------//
کد سمت سرور :
string StrRequest;
protected void Page_Load(object sender, EventArgs e)
{
StrRequest = Request.QueryString["Variable"];
Response.Write("درخواست با موفقیت ارسال شد! مقدار دریافتی از سمت سرور : " + StrRequest);
}
فایل اصلی در هدر تاپیک (پست اول) ضمیمه شد.