Как отдать JSON после writeHead
Есть приложение на экспрессе. Я пробую сделать так:
res.writeHead(200, {'Content-Type': 'application/json'});
...
res.send(JSON.stringify({'result': '1', 'path': outputFile}));
На фронте:
fetch(url)
.then(res => res.json())
.then(console.log)
res.json использовать не могу, нужно именно после writeHead. Но в итоге на клиенте получаю не JSON, а обычную строку. Как это можно исправить именно со стороны сервера?
Ответы (1 шт):
Автор решения: nörbörnën
→ Ссылка
Попробуй так:
const express = require('express');
const app = express();
app.get('/data', async (req, res) => {
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ result: '1', path: Date.now() }));
});
app.listen(3003, 'localhost', () => console.log('server runing...'));
Результат:
fetch('/data').then((res) => res.json()).then(console.log)
Promise {<pending>}
{result: "1", path: 1622624174762}