منتدى ديار الجنوب
اخبار التقنية بين يديك - http://mphker.blogspot.com


منتديات تعليميه ترفيهيه
 
الرئيسيةس .و .جبحـثالتسجيلدخولالعاب مباشرة اون لاين

شاطر | 
 

 الحصول على البيانات من السرفر دون اعادة تحميل الصفحة بالجافاسكريبت

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
كريتوس
مشرف عام
مشرف عام
avatar

عدد المساهمات : 355
نقاط : 951
تاريخ التسجيل : 19/02/2010

مُساهمةموضوع: الحصول على البيانات من السرفر دون اعادة تحميل الصفحة بالجافاسكريبت    الثلاثاء يوليو 19 2011, 22:44

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

اولا التطبيق سيكون على السرفر الشخصي

ثانيا علينا تكوين ملف تكست ولنسميه made.txt

ونكتب داخله اي شيء مثلا انا كتبت فيه

PHP كود :

without need to reload a page while we fetch data from the server

بعدها نكون ملف اسمه index.html
ولنكتب فيه

PHP كود :





function dontreload(){
try{
yuba = new XMLHttpRequest();}
catch(er){
yuba=new ActiveXObject("Microsoft.XMLHTTP");}
var div = document.getElementById("div1");
yuba.open("get","made.txt");
yuba.onreadystatechange = function()

{
if(yuba.readyState == 4 && yuba.status == 200)
{
div.innerHTML = yuba.responseText;
}
}

yuba.send(null);
}












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

اولا قمنا بانشاء دالة ,هذه مفهومة
قمنا بانشاء الكائن yuba وهو كائن من نوع XMLHttpRequest وهو المسؤوول عن جلب البيانات من السرفر بدون تحميل الصفحة

قمنا بعمل تعليمة try{} و catch لان مختلف بالنسبة للانترنت اكسبلور الغبي
فهو يعتمد في هذا على ActiveXObject("Microsoft XMLHTTP")

ولكن لا تخافو نفس خصائص ال XMLHttpRequest هي نفسها ل ActiveXOject("Microsoft XMLHTTP")

PHP كود :

yuba.open("get","made.txt")
هاذي باينة وهي فتح الملف ويكون هذا اما ب post او get

PHP كود :

yuba.onreadystatechange = function()
{
والان بعد ان صنعنا الفنكشن المجهولة (التي لا تحمل اسما)
واسندنا اليها قسمة قيمة onreadystatechange سنضمن في جسم الفنكشن الجديدة شرطين اذا تحققا سيتم استقبال البيانات

PHP كود :

if(yuba.readyState == 4 && yuba.status == 200)
الشرط الاول readyState
تقيس مدى اكتمال تحميل البيانات تاخد الخاصية التالية عدةة قيم
0 uninitialized
1 loading
2 loaded
3 interactive
4 complete
اما الشرط الثاني status
ويعني بها الحالة التي يكون عليها الطلب,هل هو ممنوع ام غير مقبول او جيد الخ
وهده هي القيم التي تاخدها
200 OK
201 Created
204 No Content
205 Reset Content
206 Partial Content
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
411 Length Required
413 Requested Entity Too Large
414 Requested URL Too Long
415 Unsupported Media Type
500 Internal Server Error
501Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
الان بعدما تاكدنا من الشرطين

PHP كود :

div.innerHTML = yuba.responseText;
اسندنا محتوى الملف للديف
بعدها بعدما اكتمل كل شيء نغلق الاتصال

PHP كود :

yuba.send(null);

منقوووووووووووووووووول

الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
الحصول على البيانات من السرفر دون اعادة تحميل الصفحة بالجافاسكريبت
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى ديار الجنوب  :: منتدى لغات البرمجة :: منتدى لغات java , ajax . jquery-
انتقل الى: