我有以下app.js文件用于处理特定端点:const express = require('express');const app = express();app.use((req, res, next) => { !process.env.HTTP_ACCESS_IP || res.setHeader('Access-Control-Allow-Origin', process.env.HTTP_ACCESS_IP); res.setHeader( 'Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization' ); res.setHeader( 'Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, DELETE, OPTIONS', ); next();});app.use(express.json({ limit: '50mb' }));app.use(express.urlencoded({ limit: '50mb', extended: true }));app.post('/api/verificationstart', (req, res) => { return res.status(400).send({ message: 'TEST' });})module.exports = app;在我的客户端,我将 HTTP REQUEST 发送到上面的端点,然后编码res.json()。async function fetchApi() { return fetch('...', { method: 'POST', referrerPolicy: 'no-referrer', });}async function verificationStartApi(data) { const res = await fetchApi(); if (res._bodyText || res._bodyInit) { return res.json(); } else { return res; }}问题是,res.json()我想得到一个string对象,而不是JSON一个。我怎样才能做到呢?因此结果res.json()将是"{ message: 'TEST' }".请注意,我想要后端的解决方案。我无法触及客户端。我一直在后端尝试任何东西,res.send()但没有任何效果:res.send('"{ "message": "string" }"');res.send('{ message: "test" }');res.send('{ "message": "test" }');
3 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
你可以使用双JSON.stringify。
app.post('/api/verificationstart', (req, res) => {
// it will be res.send('"{\\"message\\":\\"TEST\\"}"')
res.send(JSON.stringify(JSON.stringify({ message: 'TEST' })))
})
万千封印
TA贡献1891条经验 获得超3个赞
发送 JSON 有效字符串。假设这是你的 api。
app.post('/api/verificationstart', (req, res) => {
return res.status(400).send(JSON.stringify("{ message: 'TEST' }"));
})
res.send(JSON.stringify('{ "message": "test" }'));.
编辑:
明白你的意思。将字符串化 JSON 包含在字符串中。看看我的更新,测试一下。
添加回答
举报
0/150
提交
取消