کسی درموردتکنولوژی ajax اطلاعات داره که به من کمکی بشه

avaaa

عضو جدید
بچه ها پروژه آخر ترمم در مورد تگنولوژی ajax ممنون می شم کسی بهم کمک کنه چون من اصلا نمی دونم چی هست فقط یه چیز کلی که اونم استاد توضیح داده.
من چی کار کنم؟:cry::(
 
سلام .یه مطلب واستون پیدا کردم در این مورد ولی اگه توی تالارتونم بگردی پیدا میکنی چون قبلا دیدم خودم ;)

در این مقاله که نوشته آقای جسی جیمز گررت است سعی بر تعریف فناوری آژاکس شده است تا کسانی که تازه در این باره شنیده اند راحتتر این فناوری نو ظهور را درک وشناسایی نمایند.

تعریف آژاکس
همانطور که گفته شد آژاکس یک فناوری است. آژاکس متشکل از چندین فناوری دیگراست که هر کدام در مسیری جدید و قوی می آیند. آژاکس از بهم پیوستن پنچ مورد زیر بوجود آمده است:
1 . ارائه استاندارد پایه با استفاده از XHTML و CSS .
2 . نمایش پویا و تعامل با کاربر با استفاده از DOM(Document Object Model)
3 . دستکاری و تبادل اطلاعات با استفاده از XML و XSLT.
4 . بازیابی غیر همزمان داده ها با استفاده از XMLHttpRequest.
5 . تقید همه چیز با هم (JavaScript)
مدل قدیمی یا در واقع کلاسیک وب همانند این کار می کرد که بیشترین فعالیت های کاربربا واســط (Interface) ، یــک درخــواست HTTP بود که به سـرور برگشت داده می شد. سرور بعضی پردازش ها از قبیل بازیابی اطلاعات را انجام می داد و آنگاه یک صفحه HTML به سمت مشتری باز می گرداند. این یک مدل اقتباس گرفته شده از اصل وب ــ که از رسانه ابر متن (HyperText) استفاده می کند ــ است.
اما بطوریکه مشتاقان اساس آزمون کاربر می دانند ، چقدر ما وب را عالی میسازیم بدون اینکه نیازی به این عالی سازی برای نرم افزارهای کاربردی داشته باشیم؟

این رویکرد جدید مفاهیم فنی زیادی را میسازد اما یک آزمون کاربر عالی نمی سازد. تا زمانی که سرور در حال انجام کارهای خودش است کاربر باید چکاری انجام دهد؟ درست است ، او باید صبر کند و در هر گام یک عمل ، باید بیشتر زمان را صبر نماید.
واضح است اگر ما یک طراح وب بودیم نبایستی در این مدت کاربر را منتظر نگه داریم. یکبار واسط (Interface) در سمت مشتری بارگذاری می شود ، چرا باید فعل و انفعال کاربر دچار مکث شود در هر باری که برنامه کابردی نیاز به چیزی از سرور دارد ؟ در حقیقت چرا کاربر باید همیشه برنامه را در حال رفتن به سرور مشاهده کند؟

به چه سبب آژاکس متمایز است ؟
یک برنامه کاربردی آژاکس طبیعت Start-Stop-Start-Stop فعل و انفعال در وب را بااستفاده از مطرح کردن واسطی میان کاربر و سرور به نام موتور آژاکس بر طرف نموده است. بنظر میرسد که مانند اضافه کردن یک لایه به برنامه کاربردی است تا برنامه را کمتر به سمت سرور فرستاده و از آن پاسخ دریافت نمایید. اما برعکس این حالت درست می باشد.
درابتدای یک جلسه با یک سرور بجای بارشدن صفحه ابتدا مـرورگر موتور آژاکس را بار می نماید که معمولا با جاوا اسکریپت نوشته شده است و در یک فریم مخفی چیده شده است. این موتور مسئول بین رندر کردن واسطی که کاربر می بیند و ارتباط بر قرار کردن با سرور از طرف کاربر می باشد. این موتور به کاربر اجازه می دهد که مستقل از ارتباط برقرار کردن با سرور ، با برنامه تعامل داشته باشد. همچنین کاربر هرگز در یک صفحه جدید سفید مرورگر با یک آیکون ساعت شنی شروع نمی کند و در حال صبر نخواهد بود تا سرور کارهایش را انجام دهد.


هر عمل معمول کاربر یک درخواست HTTP تولید می کند و به صورت یک قالب جاوا اسکریپت بسوی موتور آژاکس فرستاده می شود. هر پاسخی به کاربر که احتیاج به گرفتن جواب از سرور ندارد مانند اعتبارسنجی ساده داده ها ، ویرایش داده ها در حافظه و غیره ، موتور آژاکس این عمل کاربر را در درون خود اداره کرده و به کاربر پاسخ می دهد.حال اگر موتور نیاز به چیزهایی از سرور برای پاسخ دادن به کاربر داشته باشد همانند دادن اطلاعات برای پردازش ، بارگیری کدهای اضافی واسط یا بازیابی اطلاعات جدید روند کار کمی دچار تغییر می شود ، به این صورت که موتور اینگونه نیازها را تبدیل به درخواست های غیر همزمانی می نماید که معمولا با استفاده ازXML و بدون متوقف کردن تعامل کاربر با برنامه می باشد.
در پایان این مقاله به این موضوع اشاره می کنم که در حال حاضر یکی از معروفترین سایتهایی که از این فناوری استفاده می نماید Google است که آخرین ورژن Google Maps را می توان به عنوان یکی از بارزترین نمونه های استفاده ازAJAX نام برد .
اینگونه پروژه ها ثابت می کند که AJAX فقط حرف فنی نیست و نمونه های عملی در جهان واقعی کاربردی دارد.
 

avaaa

عضو جدید
مرسیخوب بود. ولی خب این کمه از چه منبعهایی می تونم استفاده کنم؟
 

kolak2

عضو جدید
مرسیخوب بود. ولی خب این کمه از چه منبعهایی می تونم استفاده کنم؟

سلام
ببين اين موضوع ارائه من بود هر چي بخواي در موردش مي دونم البته من اين اطلاعات رو از بچه هاي همين سايت گرفتم همه كمكم كردن به خصوص faramarz_kiss1

اين مطلب تاپيكش هست اگه من اينجا بزارم تكراري ميشه ها
منبع هاي زير خيلي خوبه برو حتما ببين
www.macromediax.com

من دارم ارائه نوشتاريمو درست مي كنم وقتي تموم شد برات مي فرستم بگو تا كي وقت داري ؟
 

abc_ramak

عضو جدید
کاربر ممتاز
یعنی واقعا میشه در عرض یک هفته یاد گرفت؟ :razz:
جاوااسکریپت رو بلدم
ولی Xml نه خیلی زیاد
یعنی تا حالا کار نکردم، فقط دیدم :D
:sweatdrop: امیدوارم بتونم
 

kolak2

عضو جدید
kolake aziz chy shod in proje ke gofty?????????????????????:(:w27::w16::w05:

مثل اينكه خيلي عجله داري من خودم تا روز چهارشنبه همين هفته بايد تحويلش بدم البته ارائه نوشتاري مو

آدرس ايميلت رو بده من فايل پاور پوينتي رو كه درست كردم بهت بدم بعد كه فايل وردش هم تموم شد برات ميل مي كنم .
 

kolak2

عضو جدید
یعنی واقعا میشه در عرض یک هفته یاد گرفت؟ :razz:
جاوااسکریپت رو بلدم
ولی Xml نه خیلی زیاد
یعنی تا حالا کار نکردم، فقط دیدم :D
:sweatdrop: امیدوارم بتونم
منم دارم ياد مي گيرم البته از روي يك كتابي كه از نمايشگاه كتاب گرفتم خيلي خوب و سادو روان برنامه نويسي آژاكس رو توضيح داده نويسنده اون هم حسين خوش رفتار هست اگه بتوني گيرش بياري عاليه ;)
 

abc_ramak

عضو جدید
کاربر ممتاز
منم دارم ياد مي گيرم البته از روي يك كتابي كه از نمايشگاه كتاب گرفتم خيلي خوب و سادو روان برنامه نويسي آژاكس رو توضيح داده نويسنده اون هم حسين خوش رفتار هست اگه بتوني گيرش بياري عاليه ;)
مرسی :gol:
حتما میرم دنبالش
فکر نمی کردم کتاب خوب فارسی بتونم پیدا کنم
 

saeid329

عضو جدید
سلام دوستان عزیزم
امیدوارم خیلی سریع به من کمک کنید
من میخوام به وسیله ی jQuery و Ajax یکسری اطلاعات توی پایگاه داده ام بزارم و ازش اطلاعات بگیرم بدون اینکه صفحه ام احتیاج به لود مجدد داشته باشه .
من کدهای php ام رو نوشتم و پایگاه داده ام هم درست کردم و بصورت معمولی با رفرش صفحه کارهام انجام میشه ولی میخوام صفحه ام لود نشه کسی میتونه کمکم کنه دوستان!
خواهش می کنم برام حیاتیه
 

saeid329

عضو جدید
فرقی نداره میتونی راهنماییم کنی
دوست عزیز ممنونت میشم اگه کمکم کنی
 

hoseng

کاربر بیش فعال
فرقی نداره میتونی راهنماییم کنی
دوست عزیز ممنونت میشم اگه کمکم کنی
بسم الله
شما برای شروع ابتدا باید یه تابع بنویسی که با یه صفحه PHP به صورت AJAX تعامل داشته باشه
من یه تابع می نویسم که شما با قالب کد نویسیش آشنا بشی
کد:
function catExist()
	{
	  var cat=document.getElementById('title').value;
	  $("#availablity").slideDown("slow");
	  var xmlhttp;
	  if (cat=="")
		{
			$("#titleErr").slideUp("slow");
			$("#titleErrTxt").slideUp("slow");
			$("#availablity").slideUp("slow");
			submitState="no";
			return;
		}
	  if (window.XMLHttpRequest)
		{// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttp=new XMLHttpRequest();
		}
	  else
		{// code for IE6, IE5
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	  xmlhttp.onreadystatechange=function()
		{
			if (xmlhttp.readyState==4 && xmlhttp.status==200)
			{
				if(xmlhttp.responseText!="")
				{
					$("#availablity").slideUp("slow");
					$("#titleErr").slideDown("slow");
			        $("#titleErrTxt").slideDown("slow");
					$("#titleErrTxt").html(xmlhttp.responseText);
					submitState="no";
				}
				else
				{
					$("#availablity").slideUp("slow");
					$("#titleErr").slideUp("slow");
			        $("#titleErrTxt").slideUp("slow");
					$("#titleOk").slideDown("slow");
					submitState="yes";
				}
			}
		}
	  xmlhttp.open("GET","operation.php?cmd=catExCheck&t="+cat,true);
	  xmlhttp.send();
	}
الان من میخوام وقتی که مقدار یک فیلد وارد شد بره توی پایگاه داده چک بشه که این نام قبلا ثبت شده یا نه
ابتدا گفتم اگه این فیلد خالیه که یه سری پیغام خطا (با استفاده از جی کوئری) نشون بده و از تابع خارج شو. در غیر این صورت شروع می کنیم با توجه به نوع مرورگر یه XMLHttpRequest می سازیم
حالا خط بعدی میگه که اگه روی این Request تغییری اتفاق افتاد بیا تابع زیرش رو اجرا کن. حالا میگیم در صورت که این درخواست AJAX معتبره بیا xmlhttp.responseText رو چک کن. xmlhttp که یک شی ای هست که ما از روی کلاس XMLHttpRequest نمونه سازی کردیم و خاصیت responseText شامل جوابی هست که ما از صفحه PHP به این تابع فرستادیم. حالا با توجه به اینکه چه مقداری رو برگردوندیم باید این مقدار چک بشه. مثلا من اینجا گفتم اگر کلا مقدار داره پیغام خطا چاپ کن در غیر این صورت پیغام موفقیت چاپ کن. در پایان تابع هم باید یک مسیر مشخص کنیم که تابع open پارامترهای طریقه ارسال (GET، POST) ، صفحه مقصد و وضعیت فعال یا غیر فعال بودن ارسال را دریافت می کند و سپس تابع send درخواست را به صفحه PHP ارسال می کند.
حالا کد PHP رو بررسی می کنیم​
PHP:
<?PHP
//Operation Page
 if($_GET['cmd']=="catExCheck")	{		$title=mysql_real_escape_string($_GET['t']);		$gettitles=mysql_query("SELECT catTitle FROM category where catTitle='$title'");		$titleCounts=mysql_num_rows($gettitles);		$response="";		if($titleCounts>0)		{			$response="این دسته بندی قبلا ثبت شده.";		}		echo $response;	}?>
کار این قسمت هم واضحه. من مقادیر رو با این شرط از پایگاه خوندم که برابر پارامتر ارسالی باشن. حالا اگر تعداد رکورد های بازگشتی بزرگتر از صفر باشن یعنی این نام وجود داشته و یه پیغام خطا داخل متغیر $response قرار می گیره و در غیر این صورت شامل رشته خالیه. و در پایان این متغیر رو بر می گردونیم​

 
Similar threads
Thread starter عنوان تالار پاسخ ها تاریخ
yasin_d ---درخواست پروژه با زبانهای JavaScript , DHTML , AJAX--- JavaScript 6
A Ajax را معرفی کنید؟ JavaScript 5

Similar threads

بالا