2016-12-25 18 views
0

私はフレームワークを学ぶ私は真実のチューンをいくつかのURLのためのHTTPメソッドを取得し、結果から身体を取得するが、今は私はこれはステータス302ですが、私はcorssドメインについて読んで、まだ302のリダイレクトを持っています 私の例では、私はルートファイルにロジックを追加し、おそらくもっときれいな組織コードを必要とし、アクションを持つ私の一部のコントローラは、私はちょうど学ぶ、私に勧める。あなたのサイトのフロントエンドのスクリプト内から開始されたときにNodeJSレスポンスでhttpリクエストを作成

host/myapp/routes/parse.js 

var express = require('express'); 
var http = require('http'); 
var router = express.Router(); 

router.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 

/* GET home page. */ 
router.get('/', function(req, res, next) { 

    var options = { 
    host: 'google.com.ua', 
    port: 80, 
    path: '/' 
    }; 

    http.get(options, function(res) { 
    console.log("Got response: " + res.statusCode + "this"); 
    }).on('error', function(e) { 
    console.log("Got error: " + e.message); 
    }); 


    res.send('respond with a resource'); 
}); 

module.exports = router; 

と私のホスト/ myappに/ app.js

// 
var parse = require('./routes/parse'); 
... 
app.use('/parse', parse); 
// 

答えて

0

クロスオリジンのHTTPリクエスト(CORS)を追加するだけ制限されています。ここでは、サーバー経由でリソースをロードしようとしていますので、ここで問題になるはずはありません。だから私はあなたが問題を見つけるためにも、単純なパッケージを使用してあなたのデータを取得するために、単純なパッケージを使用しようとすると、サーバーコンソールのログを確認する必要があります推測

0

http.getはデフォルトでリダイレクトに従っていません。独自のリダイレクトロジックを追加するか、自動リダイレクションをサポートするライブラリを使用する必要があります。

requestには、リダイレクトのサポートが組み込まれています。

var request = require('request'); 
request('http://www.google.com.ua', function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
    console.log(body) // Show the HTML for the Google homepage. 
    } 
}) 
+0

'host/myapp/routes/parse.js'には? –

関連する問題