2017-07-10 16 views
0

私は、Jsonデータの一部に応答するサーバーとしてノードjsを使用しています。React:error TypeError:ネットワーク要求が失敗しました

//https 
 
var privateKey = fs.readFileSync('./ssl/key.pem').toString(); 
 
var certificate = fs.readFileSync('./ssl/cert.pem').toString(); 
 
var credentials = {key: privateKey, cert: certificate}; 
 

 
var httpServer = http.createServer(app); 
 
var httpsServer = https.createServer(credentials, app); 
 
var PORT = 18080; 
 
var SSLPORT = 18081; 
 

 
httpServer.listen(PORT, function() { 
 
    console.log('HTTP Server is running on: http://localhost:%s', PORT); 
 
}); 
 
httpsServer.listen(SSLPORT, function() { 
 
    console.log('HTTPS Server is running on: https://localhost:%s', SSLPORT); 
 
}); 
 

 
app.get('/listUsers', function (req, res) { 
 

 
    res.header('Content-Type', 'application/json'); 
 
    res.header('Access-Control-Allow-Origin','*'); 
 

 
    res.send(JSON.stringify({ a: 1 ,'id':2,'title':3})) 
 
    
 
});

私は、次のようなコードを反応させる:私はクロームで入力によって "https://localhost:18081/listUsersを" 真のJSONレスポンス結果を得ることができます

let http_url = "https://localhost:18081/listUsers"; 
 
     fetch(http_url, init) 
 
      .then((response) => response.json()) 
 
      .then((responseJson) => { 
 

 
       this.setState({message: `${responseJson['id']} - ${responseJson['title']}`}); 
 
      }) 
 
      .catch(e => {console.log(`error ${e}`)});

が、反応エミュレーターはいつも教えて"React:エラーTypeError:ネットワーク要求が失敗しました "。 私は、おそらく、ノード応答ヘッダーが本当でないと考えます。誰が私にいくつかの提案を与えることができますか?どうもありがとう!

+0

トライコンソールロギング 'responseJson'を参照してください。あなたはそれをしましたか? –

+0

これは動作しません、常に例外 "エラーTypeError:ネットワーク要求に失敗しました"をキャッチします。 –

+0

'init'とは何ですか? –

答えて

0

ノードサイドコードをこのように変更しましたか?

res.json({ a: 1 ,'id':2,'title':3}); 

私はあなたが文字列としてデータを渡していると思います。要件はまた、最初のhttpで試すJSON

です://あなたが成功の結果を得た場合、その後の後httpsで試してみてください。そこに任意のデータがある場合は、//

関連する問題