繁体   English   中英

res.redirect不是函数

[英]res.redirect is not a function

我正在尝试使用pagseguro库将pagseguro(付款处理器)与我的应用集成。 但我收到此错误:

res.redirect不是函数

在代码的这一部分:

parseString(res, function (err, result) {
            code = result.checkout.code;
            var redirect_url = 'https://sandbox.pagseguro.uol.com.br/v2/checkout/payment.html?code='+code;
           res.redirect(redirect_url); 

        });

这是完整的代码:

var pagseguro = require('pagseguro');
    //sandbox
    var pag = new pagseguro({
        email : 'xxxxx@gmail.com',
        token: 'XXX',
        mode : 'sandbox'
    });

    //Configurando a moeda e a referência do pedido
    pag.currency('BRL');
    pag.reference('12345');

    pag.addItem({
        id: 1,
        description: 'Plano Analytics Bot',
        amount: "10.00",
        quantity: 1
    });

    pag.buyer({
        name: 'José Comprador',
        email: 'filipe.ferminiano@gmail.com',
        phoneAreaCode: '51',
        phoneNumber: '12345678'
    });

    pag.setRedirectURL("http://www.lojamodelo.com.br/retorno");
    pag.setNotificationURL("http://www.lojamodelo.com.br/notificacao");

    pag.send(function(err, res) {
        if (err) {
            console.log(err);
        }
        var parseString = require('xml2js').parseString;
        parseString(res, function (err, result) {
            code = result.checkout.code;
            var redirect_url = 'https://sandbox.pagseguro.uol.com.br/v2/checkout/payment.html?code='+code;
            res.redirect(redirect_url); 

        });
    });

res.redirect是Express附带的。 要在没有Express的情况下执行此操作,只需将301发送回去:

res.writeHead(301,
  { Location: 'https://sandbox.pagseguro.uol.com.br/v2/checkout/payment.html?code=' + code; }
);
res.end();

我解决了更改此函数变量名称的问题:

pag.send(function(err, response) {
        if (err) {
            console.log(err);
        }
        console.log(response);
        var parseString = require('xml2js').parseString;
        parseString(response, function (err, result) {
            console.dir(result);

            code = result.checkout.code;
            console.log(code);

            var redirect_url = 'https://sandbox.pagseguro.uol.com.br/v2/checkout/payment.html?code='+code;
            console.log(redirect_url);
            res.writeHead(301,
              { Location: 'https://sandbox.pagseguro.uol.com.br/v2/checkout/payment.html?code=' + code }
            );
            res.end();

        });
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM