نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

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

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
العودة للتغريدات
مشكلةتم الحل

حل أيرور الكورس: Blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present في Node.js / Express

K
kamel
·١٦ يوليو ٢٠٢٦·4 مشاهدة
يا جماعة أنا شغال على ابلكيشن React في الـ Frontend وبيشتغل على البورت http://localhost:3000 وبحاول أبعث طلب POST أو GET لـ API معمول بـ Node.js / Express شغال على بورت مختلف http://localhost:5000. المطلوب: جلب البيانات من الـ Backend وعرضها في الـ Frontend عادي جداً. المشكلة اللي مقابلاني: الطلب بيفشل والـ Console في المتصفح بيطلعلي الشريط الأحمر الشهير ده: Access to fetch at 'http://localhost:5000/api/data' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. مع إن السيرفر شغال تمام ولما بفتح الـ URL من المتصفح مباشرة أو من Postman البيانات بترجع عادي بدون أي مشكلة، المشكلة بتحصل بس لما بطلب البيانات من كود الـ React! كود السيرفر في Node.js (server.js):
JavaScript
const express = require('express');
const app = express();

app.use(express.json());

// السطر/الإعداد المفقود هنا هو السبب في منع المتصفح للطلبات الخارجية

app.get('/api/data', (req, res) => {
    res.json({ message: "البيانات رجعت بنجاح!" });
});

app.listen(5000, () => {
    console.log('Server running on port 5000');
});
حل-أيرور-corsمشاكل-nodejsأخطاء-express-jsمشاكل-javascriptبرمجة-back-endمشاكل-cors-policyأخطاء-متصفحكود-javascriptحل-مشاكل-express

التعليقات (1)

الحل المعتمد
abdelrahman
abdelrahmanمنذ 90 يوم
دي ميزة أمان في المتصفحات اسمها Same-Origin Policy (SOP). المتصفح بيمنع أي كود JavaScript شغال على Domain أو Port معين (زي localhost:3000) إنه يطلب بيانات من Domain أو Port تاني (زي localhost:5000) إلا إذا السيرفر (الـ Backend) سمح بكده صراحة عن طريق إرسال الـ Header المناسب (Access-Control-Allow-Origin). الحل الصحيح والنهائي: تثبيت مكتبة cors في مشروع الـ Node.js وتفعيلها كـ Middleware في السيرفر: قم بتثبيت المكتبة عبر التيرمنال: npm install cors قم باستدعاء وتفعيل المكتبة في ملف server.js:
JavaScript
const express = require('express');
const cors = require('cors'); // 1. استدعاء مكتبة cors
const app = express();

// 2. تفعيل الـ CORS لتسمح للـ Frontend بالوصول للـ API
app.use(cors()); 

app.use(express.json());

app.get('/api/data', (req, res) => {
    res.json({ message: "البيانات رجعت بنجاح!" });
});

app.listen(5000, () => {
    console.log('Server running on port 5000');
});

سجّل دخولك لإضافة تعليق

تسجيل الدخول
نوفيل

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

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر