قسمت هایی از جاوااسکریپت کارمون مونده که باید تمومشه .

ابتدا تابع همیشگیمون رو که در هر برنامه از واون استفاده می کردیم رو تعریف می کنیم .

 

//اجاکس , ایجکس , اژاکس ,AJAX
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera ۸٫۰+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

وبعد هم تابع $ و تابعی که وظیفه مرتب کردن و ارسال داده ها به سرور رو بر عهده داره در این قسمت اسم تابع رو sendToServer گذاشتیم

 function $(id){return document.getElementById(id)}function sendToServer()
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert (“Browser does not support HTTP Request”);
return;
}

url=’add.php?name=’+encodeURIComponent($(‘name’).value)+’&family=’+encodeURIComponent($(‘family’).value)+’&code=’+$(‘code’).value;

xmlHttp.open(“GET”,url,true);
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.send(null);

}

فکر نکنم تابع sendToServer احتیاج به توضیح داشته باشه مثل برنامه ها قبلی یه نمونه از شی می سازه وجود شی رو چک می کنه و یه متغییر که مجموع داده های ارسالیمون در اون اون قرار می گیرن و در انتها این داده ها رو برای سرور ارسال می کنیم .

تا اینجا تمام کارها مثل دفعات قبل بود ولی در نتیجه برگشتی یک تفاوت هایی وجود داره

 function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState==”complete”)
{
if (xmlHttp.responseText==’۱′)
{
add($(‘name’).value,$(‘family’).value,$(‘code’).value);
}
else{
alert(“Error in connect to server”);}}
}

توسط تابع stateChanged نتیجه برگشتی از سرور رو برسی می کنیم .
در سمت سرور در صورت ثبت درست اطلاعات در بانک مقدار یک رو بر گشت خواهیم داد و در اینجا در صورتی که مقدار برگشتی یک بود تابعی رو که برای اضافه کردن یک سطر به جدول رو ساختیم با همون مقادیر ارسالیمون فراخونی می کنیم و در غیر اینصورت یک پیام نمایش می دیم که نشان دهنده یک مشکل در اجرای مراحل کاریست که میشه چک های بیشتر دقیق ترش کرد .