2016-07-04 2 views
0

Ich habe zu viel Zeit damit verbracht, zu debuggen, aber ich bin nicht sicher, woher es kommt oder warum ich diesen Fehler bekomme. Ich versuche, eine einfache Website zu üben, zu reagieren und versuche, einige Daten von Riots API zu bekommen.Express - Uncaught TypeError: Kann Eigenschaft 'Prototyp' von undefined nicht lesen, request.js 31

Ich versuchte, isomorphic-fetch zu verwenden, aber rannte in Probleme mit https, also wechselte ich aus, um auszudrücken.

Nach dem Einschalten ich ausdrücken bin immer „Uncaught Typeerror:.. Kann nicht Eigentum‚Prototyp‘undefinierten lesen

ich auch browserify-Middleware bin mit, wenn das überhaupt zählt

Hier ist die Datei, Probleme verursacht.

// 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(); 
} 
+0

Können Sie den vollständigen Stack-Trace buchen? – mscdex

+3

Es sieht so aus, als würden Sie Express verwenden, um * Anfragen * zu tätigen, keine * Anfragen *. 'app.get()' richtet einen Handler für * eingehende * 'GET'-Anfragen an den Express-Server ein. Sie möchten wahrscheinlich 'http.request() '/ 'http.get()' oder das 'request' Modul oder ähnliches, um ausgehende Anfragen zu machen. – mscdex

+0

Ich habe nicht einmal darüber nachgedacht. Wir haben am Backend mit Express gearbeitet und ich glaube, das ist, wo ich den Fehler gemacht habe, dass app.get() eine Anfrage stellen würde, aber das tut es nicht. App.get erhält nur eine Anfrage und macht damit etwas, richtig? – user3079061

Antwort

0

Express ein Web-Framework für Ihren Backend ist die Anforderung und bietet eine Antwort nicht ausführen Anfragen. Werfen Sie einen Blick auf Routing-Guide here.

012 zu handhaben

Wenn Sie Anfragen stellen möchten, kann ich request Modul empfehlen, das ich persönlich für meine Projekte bevorzuge und es ist ziemlich direkt. Es gibt auch einige Alternativen wie axios.

Verwandte Themen