درس كيفية ارسال البيانات بالاجكس get و post وكيفية ارسالهاباستخدام مكتبة jquery







بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

 سأتطرق في هذه المقالة عن كيفية ارسال البيانات في الاجكس ajax تدثنا في المقال السابق على كيفية التعامل مع الاجكس بنائها واستخدامها

http://traidnt.net/vb/showthread.php?t=1317880

في هذه النقطة ساجيب عن التسائل الذي يبين كيفة ارسال البيانات تعتمد البيانات جميعا في الارسال بشكل خلفي على مقهوم تسلسل البيانات بشكل عام وتقوم اللغة بطريقة تشكيل والتعرف علي البيانات فيما يخص الصفحات يتم ارسال البيانات في عدة اشكال منها البريد post الاستقبالget اي اما بشكل غير ظاهر مباشرة وهو النمط post ويتم بشكل خلفي يقوم بتجهيزه المستعرض وارساله عبر تحديد نمط

 

رمز PHP:
 method="post" 

في وسم

رمز PHP:
form 

اما النمط الثاني وهو النمط ارسال البيانات مع الرابط مباشرة بعد علامة

رمز PHP:

الاستفهام وهو يركز على مفهوم المفتاح ومن ثم القيمة مثال على ذلك

رمز PHP:
http://site.com?a=200&b=الاهلا&d=شكرا 

نلاحظ فصل القيم عبر فاصل بينها وهو علامة

رمز PHP:

ومن ثم اسم المتغير وفي اللغات البرمجة مفتاح المصفوفة get ومن ثم علامة الاسناد

رمز PHP:

ومن ثم القيمة والى اخره بشكل عام يعتبر هذا المفهوم هو المفهوم الكامل في ارسال البيانات حالة post يقوم المستعرض هو بانشاء هذه السلسلة النصية بينما get انت من يقوم بهذا التسلسل وبهذا يتضح لدينا كيفية تعامل المتصفح على كيفية ارسال البيانات اما بشكل مخفي او بشكل ظاهر ملاحظة ان كمية ارسال البيانات بواسطة get او عبر الرابط لها حد من الاحرف اي حجم اقصى بينما post فهي اكبر من حيث الحجم وبشكل عام لامحدودية لها الان كيفية ارسال البيانات في الاجكس صار واضح لدينا طريقة ارسال البيانات في الاجكس يتم ارسال البيانات في الاجكس عبر استخدام دالة

رمز PHP:
open() 

وتاحذ ثلاثة بارمترات الاول هو نوع الارسال في حالتنا هنا

رمز PHP:
get 

واثاني هو رابط الموقع وكما قلنا في حالتنا انه نقوم بارسال البيانات مع الرابط مثال

رمز PHP:
http://site.com?a=200&b=الاهلا&d=شكرا 

وبذلك نكون قد ارسلنا البيانات مع الرابط مباشرة طبعا لاننسى اعطاء الدالة

رمز PHP:
send(null

اي قمنا بارسال لاشيء من البيانات مع الاجكس وبذلك نكون قد وضحنا ارسال عبر ال

رمز PHP:
get 

عبر

رمز PHP:
post 

كما قلنا ان البيانات ترسل لشكل سلسلة نصية مستسلسلة فبذلك عند استخدام

رمز PHP:
post 

اي عبر مثال

رمز PHP:
a=200&b=الاهلا&d=شكرا 

يكون ذلك عبر ارسال البيانات عبر دالة

رمز PHP:
send("a=200&b=الاهلا&d=شكرا"); 

باختصار بسيطة جدا تسلسل البيانات هو مفهوم المتصفحات لان بالاصل كل شيء نص وعلى المتصفح رسم الاشياء والالون وغيرها من خلال قيمة هذه النصوص الان طرق التعامل مع ارسال البيانات باستخدام مكتبة jquery تقوم مكتبة جاك كيوري باستخدام عدة دوال للتحكم في الاجكس منها

رمز PHP:
load
$.post
$.get
$.ajax 

وهي بشكل عام تاخذ البارمتر الاول وهو رابط الصفحة المراد ارسال البيانات اليها وجلب نتيجتها وكماذ كرنا سابقا في حال الرغبة في اسال البيانات مع نفس الرابط يمكن ذلك

رمز PHP:
$('#e').load('tst.php?t=4&r=5'); 

اما اذا اردت غير ذلك يمكن استحدام البارمتر الثاني وهو يتم استخدامها بشكلين مختلفين الاول باسناد سلسلة نصية للبيانات بشكل متسلسل كما ذكرنا مثال

رمز PHP:
$.post('tst.php','e=300&w=200'); 

اما اذا اردت جلب البيانات وتسلسلها باستخدام المكتبة يمكنك استخدام الدالة

وهي تقوم بتحويل قيم الكائن الى سلسلة متسلسلة ولمزيد من التعليمات يرجى مراجعة الرابط التالي http://api.jquery.com/serializeمثال

رمز PHP:
$('form').serialize(); 

مثال متكامل

رمز PHP:
$.post('tst.php',$('form').serialize()); 

اما الطريقة الثانية عبر استخدام البارمتر الثاني على شكل

رمز PHP:
object 

كائن للجافا سكربت ونعلم ان الكائنات في الجافا سكربت يكون تمثيلها كالتالي

رمز PHP:
{
المفتاح:القيمة,
key:value

اي يمكنك كتابة الكود كالتالي

رمز PHP:
$.post('tst.php',{e:200,r:3,'tr':'اهلا'}); 

وتقوم المكتبة بشكل خلفي بتحويل الكائن الى سلسلة نصية ملاحظة تم استخدام علامة التنصيص في الكائن في حال اردت استخدام كلمات محجوزة في اللغة ولتفادي ذلك يمكن استخدام التالي

رمز PHP:
{
'+':'زائد',
'key':'value'

وبذلك تكون طرق الارسال واضحة ارجو من الله العلي القدير ان يوفق الجميع والله الموفق والسلام ختام

http://www.traidnt.net/vb/showthread.php?t=1823626