شرح دورة الـ AJAX للمبتدئين - الدرس الاول | مايندز | علم ينتفع به
الأتصال بنا 61109-264-012

الثلاثاء، 22 أكتوبر 2013

شرح دورة الـ AJAX للمبتدئين - الدرس الاول

ماهو الأجاكس ؟؟؟ وهل هو لغة برمجة أم تقنية بإستخدام اللغات الموجودة ؟؟؟

 لماذا نستخدم هذه التقنية ؟؟؟ وما الهدف منها ؟ 

سوف نتعرف في هذا الدرس علي كل هذه الاسئله
- (Asynchronous Java Script &Xml)إختصار ل (AJAX)الأجاكس 
-(Java Script) و(Xml) الأجاكس ليست لغة برمجة جديدة وأنما هي تقنية بإستخدام 
أولا :-
وذلك عن طريق كتابة عنوان الموقع في المستعرض بالشكل التالي  (Server) عندما نقوم بطلب موقع ويب من الخادم
www.adresswebsite.com
يقوم المستعرض بالإتصال بالخادم  وذلك عن طريق إرسال طلب للخادم ومن ثم يقوم الخادم بالرد علي طلب العميل سواء كان موجود
الطلب أو لم يكن موجود 
لو كانت الصفحة موجودة علي هذا الخادم وعنوان الموقع صحيح سوف يقوم الخادم بتحميل الصفحة وإرسالها للعميل وإن لم تكن موجودة يقوم إيضا الخادم بالرد بأن هذه الصفحة ليست لديه كما يتضح من الصورة الاتية

وكما نعلم ان شكل صفحة الموقع تكون عبارة عن جزء علوي ويسمي (header) وجزء سفلي ويسمي (footer) وقائمة (menu) والمحتوي (content)  ودائما لا يتغير الجزء العلوي ولا الجزء السفلي ولا القائمة  ولكن الذي يتغير هو المحتوي عندما أنتقل بالقائمة من صفحة لصفحة من خلال الروابط وكمثال توضيحي بسيط لشكل الموقع نعرض صورة بسيطة توضح ذلك :

وعند أختيار أي صفحة من خلال القائمة نقوم بطلب هذه الصفحة من الخادم وبالتالي يقوم الخادم بتحميل الصفحة مرة أخري بكل محتوياتها من (header, footer ,menu, content) ولكن الذي يهمنا ألا وهو المحتوي الجديد فقط ولكن يقوم الخادم بتحميل جميع اجزاء الصفحة والمحتوي الجديد مما يسبب زيادة تحميل علي الخادم وخاصة إذا كان الموقع يمتلك الكثير من الزوار مما يتسبب في حودث مشاكل بالخادم  واستغراق وقت أطول في تحميل الصفحات  ومن هنا جاءت تقنية الأجاكس لتقوم بحل هذه المشكلات مما يؤدي إلي تحسين أداء الخادم من خلال تقليل التحميل  وسرعة التنقل بين الصفحات وأمكانيه إرسال أو استقبال بيانات بدون تحديث الصفحة. 
ومن ثم نكون قد عرفنا فائدة أستخدام هذه التقنية وسوف نكمل الحديث عن هذه التقنية في الدرس القادم  ان شاء الله وكيفية استخدامها  والله الموفق .



نبدأ بأول جزء من الاجاكس   

سوف نقوم بإنشاء صفحتين الأولي وليكن أسمها ajax.php وسوف نقوم بكتابة الكود الموضح بالصوره  أسفل في هذه الصفحة 

 تحتوي علي هذا السطر فقط من الكود info.php  وسوف نقوم بإنشاء صفحه ثانيه

وسوف نقوم بإيضاح كل جزء في الكود وشرحه بالتفصيل حتي يتسني للقاريء فهم الكود بسهولة


اولاً:
بإستخدام الزر الموجود أسفل الصفحة info.php  وظيفتها جلب المعلومات من الصفحة الثانية وهي صفحة  getinfo الدالة 

  XMLHttpRequest نقوم بإنشاء كائن
  request وهو لضمان عمل الكود علي المتصفحات القديمة والحديثة وفي هذا الجزء نقوم بإنشاء الطلب


  الدالة  on ready state changeنستخدمها لإستقبال الرد من السيرفر  (response)

الخاصية ready state تعطي معلومات عن حالة السريفر وهي تاخد قيم من 0 إلي 4

0))لم يتم الاتصال بالسريفر
(1)تم الاتصال بالسريفر
(2)تم استقبال الطلب في السيرفر
(3) جار معالجة الطلب
(4)تم الانتهاء من الطلب والرد جاهز



الدالة open هي التي تستطيع بها فتح الطلب request  وتحدد من خلالها معلومات تخص هذا الطلب
أما الدالة send وظيفتها القيام بإرسال الطلب
سوف نتكلم بشيء من التفصيل عن المتغيرات الخاصة بدالة request
المتغير الاول Get  وممكن نضع Post  ولكن Get أسهل وأسرع  ولكن نستخدم Post في حالة تحديث بيانات في قاعدة البيانات الخاصة بالموقع  أو في حالة إرسال بيانات بحجم كبير حيث لايوجد حجم محدد لها من البيانات المرسلة او في حالة ارسال بيانات مستخدم  حيث انها اكثرأمانا من Get
المتغير الثاني اسم الصفحة التي سوف نقوم بإرسال الطلب إليها
المتغير الثالث True ومعناها ان الكود غير متزامن بمعني أنه أثناء إرسال الطلب من الممكن ان أقوم ببعض العمليات حتي يتم تنفيذ كود الجافا سكريبت 



إلي اللقاء في الدرس القادم بإذن الله
أنتظر تعليقاتكم و أسئلتكم ......
بقلم م / نهله شحاته