【发布时间】:2016-07-04 20:17:24
【问题描述】:
我花了太多时间尝试调试它,但不确定它来自哪里或为什么会出现此错误。 我正在尝试制作一个简单的网站来练习反应,并尝试从 Riot 的 API 获取一些数据。
我尝试使用 isomorphic-fetch,但遇到了 https 的问题,所以我切换到 express。
切换到表达后,我得到“未捕获的类型错误:无法读取未定义的属性'原型'。
如果这很重要,我也在使用 browserify-middleware。
这是导致问题的文件。
// import fetch from 'isomorphic-fetch';
// var myHeaders = new Headers();
var express = require('express')
var app = express();
var apiURL = 'https://na.api.pvp.net/api/lol/na/v1.4/';
var apiToken = '?api_key='
// export function fetchSummonerInfo() {
// return fetch(apiURL + 'summoner/by-name/' + AUserName + apiToken, {
// method: 'GET',
// mode: 'no-cors'
// })
// .then((data) => console.log(JSON.stringify(data)))
// // .catch((e) => console.log(e))
// // .then((res) => console.log(res))
// }
//
// app.use(function(req, res, next) {
// res.header("Access-Control-Allow-Origin", "*");
// res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
// next();
// })
export function fetchSummonerInfo() {
app.get(apiURL + 'summoner/by-name/Faxious' + apiToken, middle, function(req, res) {
let body = ""
res.on('data', function(data) {
body += data;
})
res.on('end', function() {
console.log(body);
})
})
}
function middle(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
}
【问题讨论】:
-
你能发布完整的堆栈跟踪吗?
-
您似乎正在尝试使用 Express 来发出请求,而不是接收请求。
app.get()为 Express 服务器的 incomingGET请求设置一个处理程序。您可能需要http.request()/http.get()或request模块或类似模块来发出出站请求。 -
我什至没有想到这一点。我们一直在使用 express 进行后端工作,我相信这就是我犯了 app.get() 会发出请求但没有发出请求的错误。 App.get 只接收一个请求,然后处理它,对吗?
标签: javascript node.js express reactjs