幕布斯6054654
2023-11-02 17:09:01
我有以下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 發(fā)送到上面的端點,然后編碼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一個。我怎樣才能做到呢?因此結(jié)果res.json()將是"{ message: 'TEST' }".請注意,我想要后端的解決方案。我無法觸及客戶端。我一直在后端嘗試任何東西,res.send()但沒有任何效果:res.send('"{ "message": "string" }"');res.send('{ message: "test" }');res.send('{ "message": "test" }');
3 回答

開心每一天1111
TA貢獻1836條經(jīng)驗 獲得超13個贊
所以這是最丑陋的答案:
return res.send('"{ \\"message\\": \\"string\\" }"');

肥皂起泡泡
TA貢獻1829條經(jīng)驗 獲得超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條經(jīng)驗 獲得超3個贊
發(fā)送 JSON 有效字符串。假設(shè)這是你的 api。
app.post('/api/verificationstart', (req, res) => {
return res.status(400).send(JSON.stringify("{ message: 'TEST' }"));
})
res.send(JSON.stringify('{ "message": "test" }'));.
編輯:
明白你的意思。將字符串化 JSON 包含在字符串中??纯次业母拢瑴y試一下。
添加回答
舉報
0/150
提交
取消