2017-03-26 19 views
2

現在、ノードを持つ外部サイトにリダイレクトしようとしています。しかし、私は可能な解決策を見つけることができないようです。どんな助けもありがとう。 Response.redirectを試してみると、TypeErrorが返ってくることに注意してください。res.redirectは関数ではありません。しかし、エクスプレスドキュメントを見るとそこにあるようです。res.redirectは明示的な関数ではありません

あなたが res.redirect('http://app.example.io');

Expressのドキュメント行うことができます

app.get('/:urlToForward', (res, req, next)=>{ 
    //Stores the value of param 
//  var shorterUrl = res.params.urlToForward; 
// shortUrl.findOne({'shorterUrl': shorterUrl}, (err,data)=>{ 
// // if (err) { 
// //    res.send("This shorterUurl does not exist."); 
// //   } 
// //   else { 
// //    res.redirect(301, data.originalUrl); 
// //   } 
// //   response.end(); 
// }); 

res.redirect('https://www.google.com'); 
}); 
+0

あなたのコードをgetコールに投稿してください。 –

+2

関数引数にreqとresを混在させました。 – qqilihq

答えて

1
+0

私が見たことから、これはあなたのサイトのフォルダやページにリダイレクトされるだけで、外部のリソースにはリダイレクトされませんか、間違っていますか? –

1

は、単純な使用:あなたはshorterUrlためES6の速記を使用することができます

app is instance of invoked Express application. 

    app.get('/', function(request,respond) { 
     respond.redirect('your_url'); //Pass between the brackets your URL. 
    }); 
+0

私はあなたの答えを投票しましたが、オブジェクトからURLを削除しました。リダイレクトはオブジェクトを取得しません。 URLパスの1つの引数またはstatusCodeとURLパスの2つの引数をとります。初心者を助けるちょっとしたこと。しかし、正解。 –

+0

ええ、そうですが、私はここでオブジェクトを渡すために言及していません、ちょうどテンプレート変数から角度の癖。あなたは初心者にとっては難しいかもしれませんが、私は編集します。 –

1

注意、二度それを入力する必要はありませんが。

app.get('/:urlToForward', (req, res, next)=> { 
     //Stores the value of param 
     var shorterUrl = res.params.urlToForward; 
     shortUrl.findOne({shorterUrl}, (err, data)=> { 
      if (err) { 
       res.send("This shorterUrl does not exist."); 
      } 
      else { 
       res.redirect(data.originalUrl); 
      } 
      response.end(); 
     }) 
    }); 
+0

res.redirectが機能していません。 –

+0

Expressバージョン4.15.2 –

+0

もう一度やり直してください。コードを更新しました。 'req'(リクエスト)と' res'(レスポンス)があなたのコードスニペットと逆になりました。 –

関連する問題