الدرس الثاني : ارسال واستقبال البيانات في الجافا سكربت

احمد محمود

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

اللهم صلِّ وسلم وبارك على سيدنا محمد

مرحباً بزوار ومتابعي بلوجر فيومي!

الدرس الثاني: إرسال البيانات باستخدام POST في AJAx



في الدرس السابق، اتعلمنا إزاي نستخدم الطريقة GET لإرسال واستقبال البيانات باستخدام AJAX. النهاردة هنتعلم إزاي نرسل البيانات باستخدام الطريقة POST ونعالج البيانات المستلمة على السيرفر.

1. ما الفرق بين GET و POST؟

الطريقة GET بتستخدم لإرسال بيانات في الـ URL، وعادةً بتستخدم في الاستعلامات البسيطة اللي مش بتتطلب سرية. أما الطريقة POST فبتستخدم لإرسال بيانات أكتر حساسية، زي بيانات تسجيل الدخول أو البيانات الشخصية، وبتكون غير ظاهرة في الـ URL.

2. إعداد نموذج HTML

هننشئ نموذج HTML بسيط يتيح للمستخدم إدخال اسمه وإرسال الطلب للسيرفر باستخدام الطريقة POST.

<h1>إرسال بيانات باستخدام POST</h1>

<form id="myForm">

    <input type="text" name="username" placeholder="أدخل اسمك" required>

    <button type="submit">إرسال</button>

</form>

<div id="result"></div>

<script>

    document.getElementById('myForm').addEventListener('submit', function(event) {

        event.preventDefault(); // منع إعادة تحميل الصفحة

        var xhr = new XMLHttpRequest();

        xhr.open('POST', 'server.php', true);

        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

        xhr.onreadystatechange = function() {

            if (xhr.readyState == 4 && xhr.status == 200) {

                document.getElementById('result').innerHTML = xhr.responseText;

            }

        };

        var username = document.querySelector('input[name="username"]').value;

        xhr.send('username=' + encodeURIComponent(username));

    });

</script>

    

3. إنشاء ملف السيرفر (server.php)

ملف الـ PHP هيستقبل البيانات المرسلة من النموذج ويعالجها، ثم يرجع رد بناءً على البيانات.

<?php

    if ($_SERVER['REQUEST_METHOD'] == 'POST') {

        $username = htmlspecialchars($_POST['username']);

        echo "مرحباً، " . $username . "! تم استلام بياناتك بنجاح.";

    } else {

        echo "من فضلك أرسل البيانات باستخدام POST.";

    }

?>

    

4. شرح الكود

- استخدمنا نموذج HTML بسيط بيحتوي على حقل لإدخال اسم المستخدم وزر إرسال.
- لما المستخدم يضغط على زر الإرسال، بيتم منع إعادة تحميل الصفحة باستخدام event.preventDefault().
- استخدمنا كائن XMLHttpRequest عشان نرسل البيانات إلى السيرفر باستخدام الطريقة POST.
- في ملف PHP، استقبلنا البيانات المرسلة من الـ AJAX باستخدام المتغير $_POST وعالجناها.

5. تحسين التجربة

يمكننا إضافة ميزات إضافية مثل التحقق من صحة البيانات قبل إرسالها، أو معالجة الأخطاء اللي ممكن تحصل في الاتصال بالسيرفر، وكمان إضافة مؤشر تحميل (loading) لتحسين تجربة المستخدم.

6. الخاتمة

في الدرس ده، اتعلمنا إزاي نرسل البيانات باستخدام POST ونتعامل مع البيانات المستلمة في السيرفر. في الدرس الجاي، هنتعرف على كيفية استخدام مكتبة Fetch API كبديل أسهل وأحدث لـ XMLHttpRequest.

إرسال تعليق

شاهد أيضاً :-
Cookie Consent
تعريف الارتباط

نستخدم ملفات تعريف الارتباط لضمان حصولك على أفضل تجربة.

Oops!
يبدو أن هناك مشكلة في اتصالك بالإنترنت. يرجى الاتصال بالإنترنت والمحاولة مرة أخرى.
AdBlock Detected!
لقد اكتشفنا أنك تستخدم إضافة حظر الإعلانات في متصفحك.
يتم استخدام الإيرادات التي نحصل عليها من الإعلانات لإدارة هذا الموقع، لذا نرجو منك إضافة موقعنا إلى القائمة البيضاء في إضافة حظر الإعلانات الخاصة بك.
Site is Blocked
Sorry! This site is not available in your country.