【问题标题】:How to fix CORB(Cross-Origin Read Blocking) error of google chrome in node.js?如何修复node.js中谷歌浏览器的CORB(跨源读取阻止)错误?
【发布时间】:2019-06-06 10:54:28
【问题描述】:

我正在尝试使用 paypal-rest-sdk 进行结帐,当成功响应后,它会重定向到approval_url,然后它会给出如下所示的错误。

跨域读取阻止 (CORB) 阻止了 MIME 类型为 text/html 的跨域响应 https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-9TM98470K35457508。详情请见https://www.chromestatus.com/feature/5629709824032768

paypal.payment.create(create_payment_json, function (error, payment) {
    if (error) {
        res.status(500).json({success: false,msg:'error -'+ error});
    }
    else {
        for(var i = 0; i < payment.links.length; i++){
            if(payment.links[i].rel === 'approval_url' && 
                payment.links[i].method === 'REDIRECT'){
                 //  this is coming in console
                console.log('payment is processing');
                 // error is coming here when redirecting to payment gate
                res.redirect(payment.links[i].href);
            }
        }
    }
});

它应该成功重定向到支付网关。

【问题讨论】:

    标签: node.js google-chrome npm paypal-rest-sdk


    【解决方案1】:

    错误来自您的浏览器,而不是来自 Node.js。

    您需要考虑您的浏览器端代码。

    听起来您正在使用 Ajax 发出 HTTP 请求并期望返回 JSON。您正在响应 500 错误和一些 JSON 或重定向到一些 HTML。

    由于客户端期待 JSON,它会抱怨。

    听起来您一开始就不应该使用 Ajax。

    【讨论】:

    • @Rupesh — 浏览器正在向 Node 应用程序提供的端点发出 HTTP 请求。您的节点应用程序正在运行res.redirect(payment.links[i].href);,这会导致它通过重定向到https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&amp;token=EC-9TM98470K35457508 来响应浏览器。该 URL 是一个 HTML 文档。浏览器抱怨是因为它期待的不是 HTML 文档。我请您参考我回答的前两段。最后 3 段是推测性的,因为您没有提供浏览器端代码的 minimal reproducible example
    • 我已经写过我正在使用 paypal-rest-sdk 的 npm 包,因此代码将与 paypal-rest-sdk 的 npm 文档中给出的相同。但请记住这一点。
    • @Rupesh — documentation for paypal-rest-sdk 表明它负责函数 paypal.payment.create,该函数出现在您的 Node.js 代码中,但不包含设计用于在浏览器中运行的代码……所以您一定写过自己编写代码……我一再说过是相关的。
    • @Rupesh — 这似乎完全是您在 Node 中运行的 JS,而不是您在浏览器中运行的 JS。
    • 这是我在我的角度服务pastebin.com/tMLNmRN1 中使用的代码,在上面的链接中我已经发布了与贝宝集成的路线。
    猜你喜欢
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    • 1970-01-01
    • 2017-01-30
    • 2015-01-08
    • 2019-08-28
    • 1970-01-01
    相关资源
    最近更新 更多