res.redirect不是express中的函数

时间:2017-03-26 21:19:45

标签: javascript node.js express

我目前正在尝试使用节点重定向到外部网站,并在get get中明确表达。但是,我似乎找不到可能的解决方案。任何帮助,将不胜感激。请注意,在尝试response.redirect时,我遇到了TypeError:res.redirect不是一个函数。但是,当我查看快速文档时,它似乎就在那里。

    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');
});

4 个答案:

答案 0 :(得分:1)

您可以执行res.redirect('http://app.example.io');

快递文档:http://expressjs.com/api.html#res.redirect

答案 1 :(得分:1)

只需使用简单:

app is instance of invoked Express application.

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

答案 2 :(得分:1)

顺序在参数中很重要。必须首先是req,然后是res,然后是下一个。

$invoices = \Stripe\Invoice::all([
  "limit" => 3,
  "expand" => ["data.charge"],
]);
$invoiceId = $invoices->data[0]->id;
$chargeId = $invoices->data[0]->charge->id;
$cardLast4 = $invoices->data[0]->charge->source->last4; 

答案 3 :(得分:0)

请注意,您可以使用ES6简写为shortUrl,无需输入两次。

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