PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نحوه عملکرد Ajax چگونه است



mahsa moradi
January 12th, 2014, 16:11
در کد نویسی سنتی جاوا اسکریپت, در صورتی که قصد داشته باشد از دیتابیس و یا فایلی بر روی سرور اطلاعات بگیرید, و یا ارسال اطلاعات کاربر به سرور, شما می بایست برای ارسال اطلاعات به دو روش get و post فرم طراحی می نمودید. و کاربر مجبور بود بر روی کلید ارسال کلیک نماید تا اطلاعات ارسال گردد, و منتظر پاسخ سرور باقی می ماند, و سپس صفحه جدید با نتایج لود می شود.
زیرا زمانی که کاربر بر روی کلید ارسال کلیک می نماید صفحه جدید باز می شود, طراحی سایت سنتی مدت زمان بیشتری را از کاربر می گرفت و مورد پسند کاربران نیز نبود. توسط ajax سایت توسط javascript به صورت مستقیم با سرور در ارتباط می باشد, که این کار از طریق آبجکت JavaScript XMLHttpRequest انجام می شود.
با یک درخواست HTTP, صفحه وب سایت می تواند درخواست خود را ارسال نماید, و سپس از وب سرور پاسخ بگیرد, بدون نیاز به بارگذاری مجدد صفحه. کاربر در همان صفحه اول باقی می ماند, و کاربر متوجه این موضوع نخواهد گردید که در پس زمینه برنامه در حال انجام است.
تصویر زیر نحوه عملکرد Ajax را نمایش می دهد:
http://netdna.webdesignerdepot.com/uploads/2008/11/howajaxworks.gif
کاربر درخواستی را انجام می دهد و در پس زمینه فرآیندها انجام می شود و سپس در لایه ای به درخواست کاربر پاسخ داده می شود, که محعمولا توسط ID شناخته می شود, بدون لود کامل صفحه. به عنوان مثال یک لایه با این آی دی:

<div id=”ajaxResponse”></div>
در مرحله بعدی ما می بینیم که چطور یک درخواست XMLHttpRequest ارسال می شود و پاسخ گرفته می شود.

1. ساخت XMLhttpRequestمرورگرهای مختلف روش های متفاوتی برای ساخت XMLHttpRequest دارند. اینترنت اکسپلورر از ActiveXObject استفاده می نماید, در صورتی که سایر مرورگرها از XMLHttpRequest که تابع داخلی جاوا اسکریپت می باشد استفاده می نمایند.
برای آنکه این آبجکت ساخته شود و با مرورگرهای مختلف سازگاری کامل داشته باشد می بایست از “try and catch” استفاده نمایید.

function ajaxFunction()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject(“Msxml2.XMLHTTP”);
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}
catch (e)
{
alert(“Your browser does not support AJAX!”);
return false;
}
}
}

2. ارسال درخواست به سروربرای ارسال درخواست به سرور, ما از متدهای open() و send() استفاده می نماییم.
متد open() سه آرگومان می پزیرد. ا.ولین آرگومان تعیین می نماید از چه روشی درخواست ارسال می گردد (GET یا POST). دومین آرگومان مکان اسکریپت را برای اجرا مشخص می نماید. سومین آرگومان مشخص می نماید درخواست چگونه می بایست اجرا شود. متد send() درخواست را به سرور ارسال می نماید.

xmlHttp.open(“GET”,”time.asp”,true);
xmlHttp.send(null);
3. نوشتن اسکریپت سمت سرورresponseText داده هایی که از سرور پاسخ داده می شود را نگهداری می نماید. در اینجا ما می خواهیم زمان حال را نمایش دهیم. کد سایت “time.php” چیزی است شبیه به این:

<%
response.expires=-1
response.write(time)
%>
4. استفاده از پاسخسپس ما پاسخ را دریافت می کنیم و نمایش می دهیم.

xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.myForm.time.value=xmlHttp.responseText;
}
}
xmlHttp.open(“GET”,”time.asp”,true);
xmlHttp.send(null);
}
5. کامل کردن کدو شما می بایست تصمیم بگیرید چه زمانی AJAX اجرا می شود. در این مثال AJAX اجرا خواهید شد زمانی که کاربر در باکس متن تایپ می نماید. مثال در کد پایین می باشد:

<html>
<body>
<script type=”text/javascript”>
function ajaxFunction()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject(“Msxml2.XMLHTTP”);
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}
catch (e)
{
alert(“Your browser does not support AJAX!”);
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.myForm.time.value=xmlHttp.responseText;
}
}
xmlHttp.open(“GET”,”time.asp”,true);
xmlHttp.send(null);
}
</script>
<form name=”myForm”>
Name: <input type=”text”
onkeyup=”ajaxFunction();” name=”username” />
Time: <input type=”text” name=”time” />
</form>
</body>
</html>





منبع (http://sitedesign.joomir.com/طراحی-سایت-ajax/item/703-ajax-چگونه-کار-می-کند.html)

dexin
January 12th, 2014, 18:10
بهتر بود تو بخش آموزشی میزدین
ولی با این حال تشکر

abrun
January 12th, 2014, 18:32
در حال حاضر معمولا از فریم ورکهای jquery‌و غیره استفاده میشه و کد نویسی خیلی ساده تر از نمونه ای هست که شما ارایه دادین.

us12
February 25th, 2014, 11:15
این کدی که استفاده کردید بیس کار هست و برای کسایی که میخواهند حجم 70 کیلویی جی کوئری را به یوزر تحمیل نکنند خوبه ولی دیگه هر سایتی می بینی کلاس جی کوئری را اضافه کرده پس بهتره از ای جکس در جی کوئری به شکل زیر استفاده کنیم.

$.ajax({
type: "POST",
url: "ajax.php",
data: { item:'item1', qty:'2'},
success: function(theResponse) {


if(theResponseStatus == 1)
{
alert('yes');
}
else
{
alert('no');
}
}
});