عمليات AJAX
عمليات AJAX
عمليات AJAX درس مجاني في jQuery Academy على CoddyKit. هذا هو الدرس 1 من أصل 1. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في jQuery Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة jQuery Academy 1 دروس في المجموع.
مقدمة
مرحبًا،
في هذا الدرس، سنتعلم كيفية التفاعل مع الخادم البعيد باستخدام أساليب jQuery AJAX.
AJAX (Asynchronous JavaScript And XML) هي تقنية تتيح نقل البيانات مع الخادم بشكل غير متزامن، من دون إعادة تحميل صفحة الويب.
تتأثر تجربة المستخدم إيجابيًا، لا سيما لأن البيانات يمكن نقلها من دون إعادة تحميل الصفحة.
مثال على Ajax
تستخدم أشهر تطبيقات الويب في العالم، مثل Facebook وGmail وYouTube، تقنية AJAX بشكل متكرر.
في الواقع، بدلًا من اعتبار AJAX تقنية جديدة، يمكنك اعتبارها أسلوبًا يوفّر نقلًا غير متزامن للبيانات بين الخادم والعميل باستخدام JavaScript.
حسنًا، لنقدّم مثالًا على دالة تستخدم AJAX.
على سبيل المثال، شاهدت فيديو على youtube.com ونقرت على زر الإعجاب. في هذه الحالة، يُرسَل حدث الإعجاب إلى خوادم YouTube في الخلفية قبل إعادة تحميل صفحة YouTube.
هذه عملية تتم من خلال طلب AJAX.
مثال على Ajax
لنطبّق مثالًا على طلبات AJAX.
فيما يلي شفرة طلب GET أُنشئت باستخدام AJAX إلى https://api.coddykit.com/api/coddy-test
هذا المثال مكتوب باستخدام JavaScript الخام، ولذلك تكون صياغته النحوية معقدة قليلًا، كما تلاحظ.
<div id="result"></div>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4
&& this.status == 200) {
//we are writing the AJAX request response
//to div element that has result id
var result = document.getElementById('result');
result.innerHTML = JSON.stringify(this.responseText);
}
};
xhttp.open("GET", "https://api.coddykit.com/api/coddy-test", true);
xhttp.send();
</script>تحذير
كما ذكرنا سابقًا، فإن jQuery مكتبة لتعديل DOM، كما توفر طرقًا لتسهيل تنفيذ عمليات AJAX.
أسلوب Ajax
لدينا أسلوب بسيط نسبيًا لإدارة طلبات AJAX باستخدام jQuery.
باستخدام الأسلوب ajax()، يمكننا بسهولة استخدام أساليب HTTP الشائعة في عالم الويب، مثل get وpost وput.
تكون صياغة أسلوب Ajax كما يلي.
$.ajax ({
url: 'remote URL'.
data: 'Data that we will send',
method: 'HTTP Method - Default GET',
success: 'Here, we should define function that work when Ajax get success result',
dataType: 'Interaction data type'
});
لنطبّق مثالًا
<div id="result"></div>
<script>
$.ajax ({
url: 'https://api.coddykit.com/api/coddy-test',
success: function(data){
$('#result').text(JSON.stringify(data));
}
});
</script>مثال على Ajax
طلب Ajax من نوع get
لنطوّر مثالنا الآن.
في المثال أدناه، أُرسل طلب ajax إلى عنوان URL (https://api.coddykit.com/api/coddy-test)
إذا لم تُحدَّد طريقة HTTP، فسيُجرى طلب من نوع GET افتراضيًا.
const https = require('https');
function ajax(url) {
const callbacks = { success: [], fail: [], always: [] };
const req = https.get(url, (res) => {
let data = '';
res.on('data', chunk => data += chunk);
res.on('end', () => {
callbacks.success.forEach(cb => cb(data));
callbacks.always.forEach(cb => cb());
});
});
req.on('error', (err) => {
callbacks.fail.forEach(cb => cb(err));
callbacks.always.forEach(cb => cb());
});
return {
done: function(cb) { callbacks.success.push(cb); return this; },
fail: function(cb) { callbacks.fail.push(cb); return this; },
always: function(cb) { callbacks.always.push(cb); return this; }
};
}
var ajaxReq = ajax("https://api.coddykit.com/api/coddy-test")
.done(function() {
//success callback
/*
If our get request is sent to
the server with success (HTTP 2xx),
this function is called.
*/
})
.fail(function() {
/* This function works
if the AJAX request fails.
*/
})
.always(function() {
/*
This function works in all cases when
the AJAX request is
successful or unsuccessful.
*/
});أسلوب get
الأسلوب $.get() وطلب Get
يمكننا استخدام الأسلوب $.get() لإرسال طلب get من نوع HTTP إلى خوادمنا.
يوفّر jQuery هذا الأسلوب، ويتيح لنا إرسال طلب GET بكتابة شفرة أكثر اختصارًا وسهولة مقارنةً باستخدام JavaScript الخام.
لنطبّق مثالًا ونلاحظ مدى اختصار الشفرة.
<div id="result"></div>
<script>
$.get("https://api.coddykit.com/api/coddy-test",
function(response) {
$('#result').text(JSON.stringify(response));
})
</script>طريقة Post
طريقة $.post() وطلب Post
يمكننا استخدام طريقة $.post() لإرسال طلب HTTP من نوع Post إلى خوادمنا.
لننفذ مثالًا ونلاحظ مدى اختصار الشيفرة.
سنستخدم طلبات post كثيرًا، خصوصًا عند إرسال نماذج الويب إلى الخادم.
<div id="result"></div>
<script>
$.post("https://api.coddykit.com/api/coddy-test",
//Please note that we can send data in body while we sending Post Request
{name:'Coddy', age: 3},
function(response) {
$('#result').text(JSON.stringify(response));
})
</script>أسلوب Put
طلب Put
يمكننا استخدام الأسلوب $.put() لإرسال طلب Put من نوع HTTP إلى خوادمنا.
لنطبّق مثالًا.
<div id="result"></div>
<script>
$.ajax({
method:'PUT',
url:"https://api.coddykit.com/api/coddy-test",
//Please note that we can send data in body while we sending Put Request
data: {name:'Coddy', age: 3},
success: function(response) {
$('#result').text(JSON.stringify(response));
}})
</script>أسلوب Delete
طلب Delete
يمكننا استخدام الأسلوب $.delete() لإرسال طلب Delete من نوع HTTP إلى خوادمنا.
لنطبّق مثالًا
<div id="result"></div>
<script>
$.ajax({
method:'DELETE',
url:"https://api.coddykit.com/api/coddy-test",
success: function(response) {
$('#result').text(JSON.stringify(response));
}})
</script>رابط
يمكنكم العثور على أمثلة والحصول على معلومات مفصلة حول طرق AJAX من الرابط أدناه.
تهانينا
تهانينا 🎉
في هذا القسم، تعلمنا AJAX باستخدام jQuery
شكرًا لانضمامكم إلينا خلال دورة jQuery للمبتدئين 🎉🎉🎉
يمكنكم الآن إجراء الاختبار والحصول على شهادة لدورة jQuery التعليمية للمبتدئين 🚀🚀🚀

الأسئلة الشائعة
هل درس «عمليات AJAX» مجاني؟
نعم — نص درس «عمليات AJAX» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة jQuery Academy، انتقل إلى CoddyKit PRO. تتضمن دورة jQuery Academy 1 دروس في المجموع.
ماذا ستتعلم في «عمليات AJAX»؟
عمليات AJAX تتمرن على jQuery Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ jQuery Academy؟
لا تُشترط خبرة سابقة. jQuery Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 1.
كم من الوقت يستغرق درس «عمليات AJAX»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس jQuery Academy هذا؟
نعم. كل درس في jQuery Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.