为了账号安全,请及时绑定邮箱和手机立即绑定

快速响应操作以将字符串发送到客户端

快速响应操作以将字符串发送到客户端

幕布斯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 发送到上面的端点,然后编码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 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

所以这是最丑陋的答案:

    return res.send('"{ \\"message\\": \\"string\\" }"');


查看完整回答
反对 回复 2023-11-02
?
肥皂起泡泡

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' }))) 

})


查看完整回答
反对 回复 2023-11-02
?
万千封印

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 包含在字符串中。看看我的更新,测试一下。


查看完整回答
反对 回复 2023-11-02
  • 3 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信