【发布时间】:2019-12-23 09:47:40
【问题描述】:
我有一个基于 NodeJS 和 express 的应用程序。每次我尝试获取响应时,我都会收到Content-Type: "application/json; charset=utf-8"。我无法在前端解析这个,因为我期待标题 Content-Type: "application/json" 的响应。
我也尝试过res.setHeader, res.set 方法,但似乎没有任何帮助。任何建议表示赞赏。
以下是我的快递代码:
const app = express();
configureMongoClient();
app.use(logger("dev"));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cookieParser());
app.options('*', cors())
app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerDocument));
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET, PUT, POST');
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, X_BPI_CONTEXT');
res.header("Content-Type", "application/json")
next();
});
app.use("/users", usersRouter);
app.use(express.static(path.join(__dirname, "public")));
我的前端调用如下:
fetch(uri, {
method: "POST",
headers: {
Content-Type: "application/json"
},
body: JSON.stringify(requestData),
})
.then((response) => {
debugger;
return response.json()
}) .then((data) => {
console.log(data);
});
【问题讨论】: