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

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

المنصة

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

الحساب

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

روابط

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

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

صُنع بـ في مصر

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

منهج Angular

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج Angular /إرسال طلبات القراءة والحصول على البيانات

إرسال طلبات القراءة والحصول على البيانات

GET RequestsTyped ResponsesObservable StreamsNetwork Consumption

جدول مرجعي سريع

1
نوع الاستجابة (`Response Type`)آلية العمل الهندسيمتى يتم استخدامها في التطبيقات
البيانات الجسمية فقط (`body`)إرجاع البيانات الفعلية مباشرة كتدفق (الافتراضي)عند الحاجة السريعة لمحتوى البيانات دون بيانات ترويسة الحدث
الاستجابة الكاملة (`events`)إرجاع كافة تفاصيل الحدث بما فيها حالة التقدم والترويسة (`Headers`)عند الحاجة لتتبع حالة التحميل اللحظية أو قراءة ترويسات الاستجابة الخاصة

الشرح

يُعد استدعاء البيانات باستخدام طلبات القراءة (GET Requests) الأساس لأي تطبيق تفاعلي يعتمد على الخوادم الخارجية. في Angular 22.1، يتم استغلال الأنواع الصارمة في تايبسكريبت (TypeScript Generics) لتحديد شكل البيانات القادمة بدقة، مما يمنع الأخطاء البرمجية ويوفر حماية كاملة للمطور أثناء بناء واجهات المستخدم.

تفصيل فلسفة وعمل طلبات القراءة

التعامل مع الأنواع الصارمة (Typed Generics):

استخدام الأنواع البرمجية يضمن أن المتغيرات المستقبلية تحمل الخصائص الصحيحة تماماً كما صممها الخادم، مما يمنع ظهور أخطاء Undefined أثناء وقت التشغيل.

طبيعة التدفقات الباردة (Cold Observables):

طلبات HttpClient لا تُنفذ فعلياً إلا عند تفعيل الاشتراك (Subscription) عليها، وهو ما يتولاه مشغل الأنبوب async في قوالب واجهة المستخدم بكفاءة تامة.

جلب بيانات المستخدمين

مكون جلب البيانات عبر HttpClient (user-list-fetch.component.ts)

typescript
1import { Component, OnInit, inject } from '@angular/core';
2import { CommonModule } from '@angular/common';
3import { HttpClient } from '@angular/common/http';
4import { Observable } from 'rxjs';
5
6interface UserProfile {
7 id: number;
8 name: string;
9 email: string;
10}
11
12@Component({
13 selector: 'app-user-list-fetch',
14 standalone: true,
15 imports: [CommonModule],
16 template: `
17 <div class="api-card">
18 <h3>قائمة المستخدمين المستلمة عبر GET Request</h3>
19 <ul>
20 <li *ngFor="let user of users$ | async">
21 <strong>{{ user.name }}</strong> - {{ user.email }}
22 </li>
23 </ul>
24 </div>
25 `,
26 styles: [`
27 .api-card { background: #090d16; color: #fff; padding: 24px; border-radius: 12px; border: 1px solid #1e293b; }
28 ul { color: #94a3b8; padding-right: 20px; }
29 li { color: #38bdf8; margin: 6px 0; }
30 `]
31})
32export class UserListFetchComponent implements OnInit {
33 private http = inject(HttpClient);
34 users$!: Observable<UserProfile[]>;
35
36 ngOnInit(): void {
37 // إرسال طلب GET مع تحديد النمط النوعي للبيانات المستلمة
38 this.users$ = this.http.get<UserProfile[]>('https://jsonplaceholder.typicode.com/users');
39 }
40}

⚠️ تحذير

تذكر أن طلبات HttpClient في أنجولر تتميز بأنها "باردة" (Cold Observables)! هذا يعني أن الطلب لن يتم إرساله فعلياً إلى الخادم إلا إذا قام المكون بعمل subscribe (أو استخدام أداة البث مثل | async في القالب)، وإلا فلن يتم تنفيذ أي اتصال شبكي.

نصائح احترافية

  • —استخدم دائماً أنبوب العرض | async في قوالب HTML للتعامل مع تدفقات HttpClient!
  • —هذه الطريقة تدير عملية الاشتراك وإلغاء الاشتراك تلقائياً، مما يحمي التطبيق من تسريبات الذاكرة ويختصر الكثير من الأكواد اليدوية.

الدرس السابق

إعداد وتكوين HttpClient في التطبيقات الحديثة باستخدام provideHttpClient

الدرس التالي

إرسال بيانات التعديل والإضافة والحذف

نوفيل

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

المنصة

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

الحساب

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

روابط

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

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

صُنع بـ في مصر