node.js - 尝试使用 url 访问响应数据
问题描述
我正在尝试一些简单的事情,我从前端发出请求并在后端获取 JSON 数据。我在前端使用 ReactJS,在后端使用 NodeJS 和 ExpressJS。
我对如何通过从 server.js 或 con.now 生成名称服务器文件名来将 JSON 数据访问到前端的正确方法感到困惑。
我正在进入我的控制台,但它拒绝将链接连接到服务器。我曾尝试将文件命名server.js
为cors.now
将服务器连接到前端的文件,但我错了。
Failed to load resource: net::ERR_CONNECTION_REFUSED
但是当每个人都在我的控制台中收到一条错误消息时cors.now.sh/https://us-central1-aaronklaser-1.cloudfunctions.net/medium?username=@aaron.klaser
Medium.js
import React from 'react';
import PageHeader from './PageHeader';
import PageContent from './PageContent';
import axios from 'axios';
export default class Medium extends React.Component {
state = {
posts: []
}
componentDidMount() {
this.fetchPosts().then(this.setPosts)
}
fetchPosts = () => axios.get(`https://cors.now.sh/https://us-central1-aaronklaser-1.cloudfunctions.net/medium?username=@aaron.klaser`)
setPosts = response => {
this.setState({
posts: response
})
}
render() {
return (
<div>
<PageHeader/>
<PageContent>
<pre>{JSON.stringify(this.state.posts, null, 2)}</pre>
</PageContent>
</div>
)
}
}
cors.now
const express = require('express');
const app = express();
const port = process.env.PORT || 5000;
const request = require('request');
app.get("/api/medium", (req, res) => {
if(!req.query.username){
return res.status(400).send('Error: You need to include query param ?username=@yourUsername');
} else {
return request(url,(error, response, body) => {
const url = `https://medium.com/${req.query.username}/latest?format=json`;
const prefix = `])}while(1);</x>`
const strip = payload => payload.replace(prefix, ``)
res.send(JSON.parse(strip(body)));
});
}
});
app.listen(port, () => console.log(`Listening on port ${port}`));
解决方案
我看到您正在使用https://cors.now.sh站点作为反向代理。我不确定该网站目前是否正常运行?
如果您直接点击您的 API 端点 ( https://us-central1-aaronklaser-1.cloudfunctions.net/medium?username=@aaron.klaser ) - 我看到一个有效的 JSON 响应返回到浏览器。
我认为问题在于反向代理站点此时没有运行或响应。
推荐阅读
- statistics - 负载流道标准差
- linux - Serilogs 在 aspnet core 2.1 的 linux 服务器中不起作用
- javascript - How to set the call back in WEB3
- python - 股票预测算法有问题
- php - “Mysql 期望参数 2 为整数,字符串中给出”类型的错误
- python - 如何修复:Django 错误:没有这样的表:main.classroom_student__old
- node.js - Javascript 对象未定义,即使它显然存在
- typescript - 在 Typescript 中,当我使用 require() 导入时,如何让它理解类型?
- android - 如何在 Volley 中解析多维 json 数组?
- php - 如何显示通配符子域的内容?