Ajax (programming)
ایجیکس (ایجیکس بھی ؛ "اسنکرونس جاوا اسکرپٹ اور ایکس ایم ایل" کے لیے مختصر) ویب ڈویلپمنٹ تکنیک کا ایک مجموعہ ہے جو اسنکرونس ویب ایپلی کیشنز بنانے کے لیے کلائنٹ سائیڈ پر مختلف ویب ٹیکنالوجیز کا استعمال کرتا ہے۔ ایجیکس کے ساتھ، ویب ایپلی کیشنز موجودہ صفحہ کے ڈسپلے اور رویے میں مداخلت کیے بغیر سرور سے غیر متزلزل (پس منظر میں) ڈیٹا بھیج اور بازیافت کر سکتی ہیں۔ پریزنٹیشن پرت سے ڈیٹا انٹرچینج پرت کو الگ کرکے، ایجیکس ویب صفحات اور توسیع کے ذریعے ویب ایپلی کیشنز کو پورے صفحے کو دوبارہ لوڈ کرنے کی ضرورت کے بغیر مواد کو متحرک طور پر تبدیل کرنے کی اجازت دیتا ہے۔ عملی طور پر، جدید نفاذ عام طور پر ایکس ایم ایل کے بجائے جے ایس او این کا استعمال کرتے ہیں۔ ایجیکس ایک ٹیکنالوجی نہیں ہے، بلکہ ایک پروگرامنگ تصور ہے۔ ایچ ٹی ایم ایل اور سی ایس ایس کو معلومات کو نشان زد کرنے اور اسٹائل کرنے کے لیے مل کر استعمال کیا جا سکتا ہے۔ ویب پیج کو جاوا اسکرپٹ کے ذریعے متحرک طور پر ڈسپلے کرنے کے لیے تبدیل کیا جا سکتا ہے-اور صارف کو نئی معلومات کے ساتھ بات چیت کرنے کی اجازت دیتا ہے۔ بلٹ ان ایکس ایم ایل ایچ ٹی ٹی پی ریکوسٹ آبجیکٹ کو ویب صفحات پر ایجیکس کو چلانے کے لیے استعمال کیا جاتا ہے، جس سے ویب سائٹس کو صفحہ کو ریفریش کیے بغیر اسکرین پر مواد لوڈ کرنے کی اجازت ملتی ہے۔ ایجیکس کوئی نئی ٹیکنالوجی نہیں ہے اور نہ ہی یہ کوئی نئی زبان ہے۔ اس کے بجائے، یہ موجودہ ٹیکنالوجیز ہیں جو نئے طریقے سے استعمال ہوتی ہیں۔ 1990 کی دہائی کے اوائل سے وسط تک، زیادہ تر ویب سائٹیں مکمل ایچ ٹی ایم ایل صفحات پر مبنی تھیں۔ ہر صارف کے عمل کے لیے سرور سے ایک مکمل نیا صفحہ لوڈ کرنے کی ضرورت ہوتی ہے۔ یہ عمل غیر موثر تھا، جیسا کہ صارف کے تجربے سے ظاہر ہوتا ہے: صفحہ کا تمام مواد غائب ہو گیا، پھر نیا صفحہ ظاہر ہوا۔ ہر بار جب براؤزر نے جزوی تبدیلی کی وجہ سے کسی پیج کو دوبارہ لوڈ کیا تو تمام مواد کو دوبارہ بھیجنا پڑا، حالانکہ صرف کچھ معلومات تبدیل ہوئی تھیں۔ اس نے سرور پر اضافی بوجھ ڈالا اور بینڈوتھ کو کارکردگی میں ایک محدود عنصر بنا دیا۔ 1996 میں، آئی فریم ٹیگ انٹرنیٹ ایکسپلورر کے ذریعہ متعارف کرایا گیا تھا۔ آبجیکٹ عنصر کی طرح، یہ غیر متزلزل طور پر مواد کو لوڈ یا حاصل کر سکتا ہے۔ 1998 میں، مائیکروسافٹ آؤٹ لک ویب ایکسیس ٹیم نے ایکس ایم ایل ایچ ٹی ٹی پی ریکوسٹ اسکرپٹنگ آبجیکٹ کے پیچھے کا تصور تیار کیا۔ یہ ایم ایس ایکس ایم ایل لائبریری کے دوسرے ورژن میں ایکس ایم ایل ایچ ٹی ٹی پی کے طور پر نمودار ہوا، جسے مارچ 1999 میں انٹرنیٹ ایکسپلورر 5 کے ساتھ بھیج دیا گیا۔ آئی ای 5 میں ونڈوز ایکس ایم ایل ایچ ٹی ٹی پی ایکٹو ایکس کنٹرول کی فعالیت کو بعد میں موزیلا فائر فاکس، سفاری، اوپیرا، گوگل کروم، اور دیگر براؤزرز نے ایکس ایم ایل ایچ ٹی ٹی پی ریکوسٹ جاوا اسکرپٹ آبجیکٹ کے طور پر نافذ کیا۔ مائیکروسافٹ نے انٹرنیٹ ایکسپلورر 7 کے طور پر مقامی ایکس ایم ایل ایچ ٹی ٹی پی ریکوسٹ ماڈل کو اپنایا۔ ایکٹو ایکس ورژن اب بھی انٹرنیٹ ایکسپلورر میں سپورٹ کیا جاتا ہے، لیکن مائیکروسافٹ ایج میں نہیں۔ ان پس منظر کی ایچ ٹی ٹی پی درخواستوں اور غیر متزلزل ویب ٹیکنالوجیز کی افادیت کافی حد تک غیر واضح رہی جب تک کہ یہ آؤٹ لک ویب ایکسیس (2000) اور اوڈ پوسٹ (2002) جیسے بڑے پیمانے پر آن لائن ایپلی کیشنز میں ظاہر ہونا شروع نہیں ہوئی۔ گوگل نے جی میل (2004) اور گوگل میپس (2005) کے ساتھ معیارات کے مطابق، کراس براؤزر ایجیکس کی وسیع تعیناتی کی۔ اکتوبر 2004 میں Kayak.com کی عوامی بیٹا ریلیز بڑے پیمانے پر ای کامرس کے پہلے استعمال میں سے ایک تھی جسے ان کے ڈویلپرز اس وقت "ایکس ایم ایل ایچ ٹی ٹی پی چیز" کہتے تھے۔ اس سے ویب پروگرام ڈویلپرز میں ایجیکس میں دلچسپی بڑھ گئی۔ اے جے اے ایکس کی اصطلاح 18 فروری 2005 کو جیسی جیمز گیریٹ نے گوگل پیجز پر استعمال ہونے والی تکنیکوں پر مبنی ایجیکس: اے نیو اپروچ ٹو ویب ایپلی کیشنز کے عنوان سے ایک مضمون میں عوامی طور پر استعمال کی تھی۔ 5 اپریل 2006 کو، ورلڈ وائڈ ویب کنسورشیم (ڈبلیو 3 سی) نے ایک سرکاری ویب معیار بنانے کی کوشش میں ایکس ایم ایل ایچ ٹی ٹی پی ریکوسٹ آبجیکٹ کے لیے پہلا مسودہ تفصیلات جاری کیں۔ ایکس ایم ایل ایچ ٹی ٹی پی ریکوسٹ آبجیکٹ کا تازہ ترین مسودہ 6 اکتوبر 2016 کو شائع کیا گیا تھا، اور ایکس ایم ایل ایچ ٹی ٹی پی ریکوسٹ تفصیلات اب ایک معیار زندگی ہے۔ ٹیکنالوجیز ایجیکس کی اصطلاح ویب ٹیکنالوجیز کے ایک وسیع گروپ کی نمائندگی کرنے کے لیے آئی ہے جسے ویب ایپلی کیشن کو لاگو کرنے کے لیے استعمال کیا جا سکتا ہے جو صفحہ کی موجودہ حالت میں مداخلت کیے بغیر پس منظر میں موجود سرور کے ساتھ بات چیت کرتا ہے۔ ایجیکس کی اصطلاح تیار کرنے والے مضمون میں، جیسی جیمز گیریٹ نے وضاحت کی کہ مندرجہ ذیل ٹیکنالوجیز کو شامل کیا گیا ہے: ایچ ٹی ایم ایل (یا ایکس ایچ ٹی ایم ایل) اور پریزنٹیشن کے لیے سی ایس ایس ڈیٹا کے تبادلے کے لیے جے ایس او این یا ایکس ایم ایل کے ساتھ متحرک ڈسپلے اور تعامل کے لیے ڈاکیومنٹ آبجیکٹ ماڈل (ڈی او ایم)، اور ایکس ایم ایل ہیرا پھیری کے لیے ایکس ایس ایل ٹی ان ٹیکنالوجیز کو ایک ساتھ لانے کے لیے غیر متزلزل مواصلات جاوا اسکرپٹ کے لیے ایکس ایم ایل ایچ ٹی ٹی پی ریکویسٹ آبجیکٹ اس کے بعد سے، تاہم، ایجیکس ایپلی کیشن میں استعمال ہونے والی ٹیکنالوجیز میں اور خود ایجیکس کی اصطلاح کی تعریف میں متعدد پیش رفت ہوئی ہیں۔ ڈیٹا کے تبادلے کے لیے اب ایکس ایم ایل کی ضرورت نہیں ہے اور اس لیے ڈیٹا میں ہیرا پھیری کے لیے اب ایکس ایس ایل ٹی کی ضرورت نہیں ہے۔ جاوا اسکرپٹ آبجیکٹ نوٹیشن (جے ایس او این) کو اکثر ڈیٹا کے تبادلے کے لیے ایک متبادل شکل کے طور پر استعمال کیا جاتا ہے، حالانکہ دیگر فارمیٹس جیسے کہ پری فارمیٹڈ ایچ ٹی ایم ایل یا سادہ متن بھی استعمال کیا جا سکتا ہے۔ جے کوری سمیت متعدد مشہور جاوا اسکرپٹ لائبریریوں میں ایجیکس کی درخواستوں کو انجام دینے میں مدد کے لیے تجریدی چیزیں شامل ہیں۔ جاوا اسکرپٹ کی مثالیں جی ای ٹی طریقہ استعمال کرتے ہوئے ایک سادہ ایجیکس درخواست کی مثال، جو جاوا اسکرپٹ میں لکھی گئی ہے۔ get-ajax-data.js:// یہ کلائنٹ سائیڈ اسکرپٹ ہے۔ //HTTP درخواست کو شروع کریں۔ xhr = new XMLHttpRequest () ؛// درخواست کی وضاحت کریں xhr.open ('GET'، 'send-ajax-data.php') ؛// درخواست کی ریاستی تبدیلیوں کو ٹریک کریں۔ xhr.onreadystatechange = فنکشن () {کانسٹ ڈون = 4 ؛// ریڈی اسٹیٹ 4 کا مطلب ہے کہ درخواست مکمل ہو چکی ہے۔ کانسٹ اوکے = 200 ؛// اسٹیٹس 200 ایک کامیاب واپسی ہے۔ اگر (xhr.readyState = = = کیا گیا) {اگر (xhr.status = = ٹھیک ہے) {console.log (xhr.responseText) ؛// 'یہ آؤٹ پٹ ہے۔' } ell {console.log ('غلطی:' + xhr.status) ؛// درخواست کے دوران ایک غلطی واقع ہوئی۔ }} ؛// درخواست کو send-ajax-data.php xhr.send (صفر) پر بھیجیں ؛ send-ajax-data.php: <? Php// یہ سرور سائیڈ اسکرپٹ ہے۔ //مواد کی قسم مقرر کریں۔ ہیڈر ('مواد قسم: متن/سادہ') ؛// ڈیٹا واپس بھیجیں۔ echo "یہ آؤٹ پٹ ہے۔ "؛؟> مثال حاصل کریں Fetch ایک مقامی جاوا اسکرپٹ API ہے۔ گوگل ڈویلپرز ڈاکیومینٹیشن کے مطابق، "پرانے ایکس ایم ایل ایچ ٹی ٹی پی ریکوسٹ کے مقابلے میں فیچ ویب درخواستیں کرنا اور جوابات کو سنبھالنا آسان بناتا ہے۔" fetch ('send-ajax-data.php')۔ پھر (ڈیٹا => console.log (ڈیٹا)) کیچ (ایرر => console.log ('ایرر:' + ایرر)) ؛ ES7 اسنک/ویٹ مثال اسنک فنکشن ڈو ایجکس 1 () {آزمائیں {کانسٹ ریز = ویٹ فیچ ('send-ajax-data.php') ؛ کانسٹ ڈیٹا = ویٹ res.text () ؛ console.log (ڈیٹا) ؛} کیچ (ایرر) {console.log ('ایرر:' + ایرر) ؛} ڈو ایجکس 1 () ؛ فیچ جاوا اسکرپٹ وعدوں پر انحصار کرتا ہے۔ فیچ کی تفصیلات درج ذیل اہم طریقوں سے ایجیکس سے مختلف ہیں: فیچ () سے واپس کیا گیا وعدہ HTTP ایرر اسٹیٹس پر مسترد نہیں کرے گا چاہے جواب HTTP 404 یا 500 ہی کیوں نہ ہو۔ اس کے بجائے، جیسے ہی سرور ہیڈر کے ساتھ جواب دیتا ہے، وعدہ عام طور پر حل ہو جائے گا (جواب کی اوکے پراپرٹی کے ساتھ غلط مقرر کیا جائے گا اگر جواب 200-299 کی حد میں نہیں ہے)، اور یہ صرف نیٹ ورک کی ناکامی پر مسترد ہو جائے گا یا اگر کسی چیز نے درخواست کو مکمل کرنے سے روکا ہو۔ fetch () کراس اوریجن کوکیز نہیں بھیجے گا جب تک کہ آپ اسناد init آپشن سیٹ نہ کریں۔ (اپریل 2018 سے۔ سپیک نے ڈیفالٹ اسناد کی پالیسی کو ایک ہی اصل میں تبدیل کر دیا۔ فائر فاکس 61.0b13 کے بعد سے تبدیل ہوا۔) فوائد ایجیکس کئی فوائد پیش کرتا ہے جو ویب ایپلی کیشن کی کارکردگی اور صارف کے تجربے کو نمایاں طور پر بڑھا سکتے ہیں۔ سرور ٹریفک کو کم کرکے اور رفتار کو بہتر بنا کر، ایجیکس جدید ویب ڈویلپمنٹ میں اہم کردار ادا کرتا ہے۔ ایجیکس کا ایک اہم فائدہ ڈیٹا کی بازیافت کی ضرورت کے بغیر ویب ایپلی کیشنز کو پیش کرنے کی صلاحیت ہے، جس کے نتیجے میں سرور ٹریفک میں کمی واقع ہوتی ہے۔ یہ اصلاح سرور اور کلائنٹ دونوں طرف رسپانس ٹائم کو کم کرتی ہے، جس سے صارفین کو لوڈنگ اسکرینز کو برداشت کرنے کی ضرورت ختم ہو جاتی ہے۔ مزید برآں، ایجیکس ایکس ایم ایل ایچ ٹی ٹی پی ریکوسٹ کے استعمال کو آسان بنا کر غیر متزلزل پروسیسنگ کی سہولت فراہم کرتا ہے، جو غیر متزلزل ڈیٹا کی بازیافت کے لیے درخواستوں کو موثر طریقے سے سنبھالنے کے قابل بناتا ہے۔ مزید برآں، مواد کی متحرک لوڈنگ ایپلی کیشن کی کارکردگی کو نمایاں طور پر بڑھاتی ہے۔ اس کے علاوہ، ایجیکس کو تمام بڑے ویب براؤزرز میں وسیع حمایت حاصل ہے۔ آپ مختلف براؤزرز کا استعمال کرتے ہوئے ان دستاویزات تک رسائی حاصل کر سکتے ہیں، بشمول مائیکروسافٹ انٹرنیٹ ایکسپلورر ورژن 5 اور اس سے اوپر، موزیلا فائر فاکس ورژن 1 اور اس سے آگے، اوپیرا ورژن 7.6 اور اس سے اوپر، اور ایپل سفاری ورژن 1.2 اور اس سے اوپر۔ متعدد براؤزرز کے ساتھ بغیر کسی رکاوٹ کے کام کرنے کی اس کی صلاحیت مختلف پلیٹ فارمز پر ویب پیج کی کارکردگی کو بڑھاتی ہے۔ ایکشن اسکرپٹ کومیٹ (پروگرامنگ) (جسے ریورس ایجیکس بھی کہا جاتا ہے) گوگل انسٹنٹ ایچ ٹی ٹی پی/2 ایجیکس فریم ورک کی فہرست Node.js ریموٹ اسکرپٹنگ رچ ویب ایپلی کیشن ویب ساکٹ ایچ ٹی ایم ایل 5 ویب فریم ورک جاوا اسکرپٹ لائبریری حوالہ جات بیرونی لنکس ایجیکس: ویب ایپلی کیشنز کے لیے ایک نیا نقطہ نظر-مضمون جس نے ایجیکس اصطلاح اور جی ای ٹی، پوسٹ، ٹیکسٹ اور ایکس ایم ایل مثالوں کے ساتھ کیو اینڈ اے ایجیکس ٹیوٹوریل تیار کیا۔ کلاؤڈ اسٹینڈرڈز انٹر پروسیس کمیونیکیشن ویب 2.0 نیوولوجزم ویب ڈویلپمنٹ آرٹیکلز مثال کے طور پر جاوا اسکرپٹ کوڈ آرٹیکلز مثال کے طور پر پی ایچ پی کوڈ کے ساتھ