• 0

ظهور الخطأ NextJS - Unexpected token < in JSON at position 0

لقد اتبعت برنامجًا تعليميًا حول NextJS وحاولت الآن تعديله قليلاً. أردت تضمين ملف data.json في الصفحة. لكنني أتلقى دائمًا رسالة الخطأ 

Unexpected token < in JSON at position 0

أعلم أنه يجب علي تحويل ملف JSON إلى سلسلة نصية  كيف علي أن أفعل ذلك؟

  let res = await fetch(`${server}/data`);
  const articles = await res.json();

  return {
    props: {
      articles,
    },
  };
}

 

تمّ تعديل بواسطة Wael Aljamal
توضيح السؤال
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

تنسيق جواب الطلب للملف من الخادم يبدو أنه خاطئ ولا يعيد تنسيق JSON، حاول تحديد ال Accept مع الطلب وتحديد النوع ك application/json لطلب التسنيق حصرا JSON كالتالي:

let res = await fetch(`${server}/data`,{
  headers: {
    'Content-Type': 'application/json' // طلب التنسيق JSON من الخادم
  },
});

const articles = await res.json();

return {
  props: {
    articles,
  },
};

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

في تطبيق المخدم لديك، تأكد من إرسال الرد للزبون على شكل JSON..   أي res.json

app.get('/', function(req, res){
    res.json({ user: 'wael' });
});

يجب أن يرسل المخدم الرد على شكل JSON ليتمكن المتصفح (العميل) من إعادة البيانات لشكل JSON بعد وصولها

في حال كنت تريد إرسال غرض كإجابة استخدم JSON.stringify:

response.write(JSON.stringify(anObject));

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

قم بطباعة الarticles وأرني ناتج الطباعة من فضلك

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن