ماذا يعني
نجح الطلب ولا يوجد جسم لإعادته. قد تحمل الترويسات بيانات وصفية مثل ETag جديد.
الأسباب الشائعة
- نجح طلب DELETE
- طلب PUT أو PATCH حفظ التغييرات دون إعادة المورد
- استجاب طلب preflight لـ CORS أو نقطة نهاية beacon
طريقة الإصلاح
إن كنت العميل أو الزائر
لا تحاول تحليل الجسم؛ فاستدعاء response.json() على 204 يرمي خطأ. تحقق من الحالة قبل القراءة.
إن كنت مسؤولًا عن الموقع أو الواجهة البرمجية
لا ترسل جسمًا أبدًا مع 204. أعد 200 مع JSON إذا احتاج العملاء إلى المورد المحدّث.
مثال على الاستجابة
HTTP/1.1
HTTP/1.1 204 No Content
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx المواصفة
الأسئلة الشائعة
› لماذا يفشل response.json() مع 204؟
لا يوجد جسم لتحليله. تحقق من response.status === 204 (أو طول المحتوى) قبل استدعاء json().
› هل يعيد DELETE الرمز 204 أم 200؟
204 حين لا يوجد ما يُبلّغ عنه، و200 حين تعيد جسمًا مثل العنصر المحذوف أو تأكيدًا.