我有一个react应用程序,可以从https://api.data.io/api/v1
获取数据,但是在发出请求时遇到了一些cors错误,所以我决定创建一个代理服务器。
但是现在,当我从前端发出请求时,没有返回任何数据,当我检查网络选项卡时,我看到pending
。我错过了什么?更好的方法是什么?server.js
const express = require("express");
const axios = require("axios");
const app = express();
const port = 3000;
app.use(cors());
const instance = axios.create({
baseURL: "https://api.data.io/api/v1",
headers: {
"x-id-apix":
"xxxxxx",
},
});
const getAllNodes = () => {
console.log("yay!");
return instance.get("/nodes", {});
};
app.get("/nodes", getAllNodes);
frontend: index.js
const newinstance = axios.create({
baseURL: 'http://localhost:3000'
});
// Get all nodes
export const getNodes = () => {
return newinstance.get('/nodes', {});
};
2条答案
按热度按时间klsxnrf11#
因为这根本不是你在服务器上使用
express
的方式。建议你参考documentation and examples。Returning 没有任何作用。你可以使用传递给路由处理函数的“response”对象发送一个响应。例如:n6lpvg4x2#
我相信这是因为你没有从你的API中返回任何东西。你能试试这样的东西吗?
将请求从axios传输到express响应