如果本地NodeJS/Express应用程序的请求失败,但在PostMan中可以正常工作,很可能是由于应用程序中存在跨域请求的问题。在NodeJS/Express中,可以使用CORS库来添加CORS支持。下面是一些示例代码:
安装cors库:
npm install cors --save
在应用程序的代码中添加以下中间件:
const express = require('express');
const cors = require('cors');
const app = express();
// 接受所有来源的跨域请求:
app.use(cors());
// 接受来自特定来源的跨域请求:
app.use(cors({
origin: 'http://localhost:3000'
}));
// 启用预检请求支持:
app.options('/api', cors());
这些示例代码将允许接受所有来源的跨域请求、来自特定来源的跨域请求以及启用预检请求支持的跨域请求。
此外,还可以在服务器端添加以下响应头:
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
这些响应头将允许接受来自任何来源的跨域请求。
总之,要解决本地NodeJS/Express应用程序向API的请求失败的问题,可以在应用程序中添加CORS支持,并设置相关的响应头。