【发布时间】:2018-10-31 07:56:06
【问题描述】:
我在 node js 中创建了一个简单的服务器来接收来自 react 应用程序的请求。
但是对于 GET 方法,没有 CORS 错误,但是每当我发布时,它都会给我一个错误。
为了使 POST 方法正常工作,我在操作文件夹的 index.js 文件中实现了它,它应该从 server.js 文件中访问 url。
index.js
import axios from 'axios';
export const GET_NAVBAR = "GET_NAVBAR";
export const LOGIN = "LOGIN";
export const BASE_API_URL = "http://localhost:3030";
export const GUEST_API_URL = "https://XXX.XXX.XXX.X:5443/wcs/resources/store/1";
export const getNavbar = () => {
return axios.get(BASE_API_URL + '/topCategory').then(res => {
return {
type: GET_NAVBAR,
payload: res.data.express.catalogGroupView
};
});
};
export const login = () => {
return axios.post(GUEST_API_URL + '/guestidentity', {}).then(res => {
console.log(res);
return {
type: LOGIN,
payload: {}
}
}).catch(e => {
console.log(e);
return {
type: LOGIN,
payload: {}
}
});
};
server.js
const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const Client = require('node-rest-client').Client;//import it here
const app = express();
const helmet = require('helmet');
const morgan = require('morgan');
// enhance your app security with Helmet
app.use(helmet());
// use bodyParser to parse application/json content-type
app.use(bodyParser.json());
app.use(cors());
// log HTTP requests
app.use(morgan('combined'));
app.post('/guestidentity', (req, res) => {
var client = new Client();
// direct way
client.post("https://XXX.XXX.XXX.X:5443/wcs/resources/store/1/guestidentity", (data, response) => {
res.send({express: data});
});
});
const port = 3030;
app.listen(port, () => console.log(`Server running on port ${port}`));
我不知道我的代码哪里出错了。任何人都可以帮我解决这个问题。如果有人可以提供见解或指导我,我将不胜感激。谢谢
【问题讨论】:
-
永远不要暴露你的 IP 地址和端口
-
你为什么在你的服务器的
guestidentity路由中调用client.post(?是否需要调用该api?那个api在不同的服务器上吗?这个 api 是否适用于 Postman 或任何其他客户端? -
是的,它在不同的服务器中。是的,它适用于 Postman。那么现在该怎么办。你能指导我一点。在同一个 server.js 文件中,我使用 GET 方法,但它工作正常。仅用于 POST,我遇到了问题
标签: node.js reactjs express redux axios