Setelah passport berhasil mengautentikasi, saya ingin meneruskan data req.user ke komponen

Menggunakan res.sendFile().

Saya menemukan jawaban ini Di sini

Tapi saya tidak tahu cara membaca parameter options pada komponen di componentDidMount()

Ada yang bisa bantu saya ?

0
John 10 Maret 2020, 18:21

1 menjawab

Jawaban Terbaik

Tidak ada cara standar untuk mengirim konten file JSON + campuran hanya dengan menggunakan metode sendFile(). Sebagai solusinya, Anda dapat mengirim data JSON Anda sebagai header respons khusus:

const options = {
    headers: {
        'Access-Control-Expose-Headers': 'User',
        'User': JSON.stringify(req.user),
    }
};

res.sendFile(path.join(__dirname, '../assets', 'index.html'), options);

Perhatikan bahwa header Access-Control-Expose-Headers diperlukan, agar klien Anda selalu dapat mengakses header tambahan.

Kemudian, dengan asumsi Anda menggunakan axios di frontend:

axios.get(YOUR_URL, response => {
    const user = JSON.parse(response.headers['User']);

    console.log('User Object', user);
});

Dengan fetch:

response.headers.get('User');
2
Daniele Molinari 10 Maret 2020, 15:49