使用 Angular 的 Stripe API 的 CORS 问题

Posted

技术标签:

【中文标题】使用 Angular 的 Stripe API 的 CORS 问题【英文标题】:CORS Issue with Stripe API using Angular 【发布时间】:2017-02-18 01:33:18 【问题描述】:

我是 Stripe API 和 CORS 概念的新手。 我基本上从 Angular 向我的 Node js 服务器发送 POST 请求。客户端来源与服务器目的地不同,因此我在服务器端实现了 CORS。使用 Chrome 上的网络选项卡,我可以看到预检请求正常,然后实际请求失败。我实际上不知道它出了什么问题。有人可以给我一些建议或解释我在这里缺少什么吗?提前谢谢你

预检请求(选项)

实际请求 (POST)

客户端(角度)

服务器端(Node JS)- 续

服务器端(节点 JS)

【问题讨论】:

您正在发送一个 dom 元素作为数据。这是非常错误的。问题与 CORS 无关,而是处理实际帖子 这种错误表明您的服务器后处理程序正在崩溃。从控制台开始,在 post 处理程序中记录请求正文,然后从那里开始。 @charlietfl 的建议可能是罪魁祸首 - 您的服务器可能会因这些数据而窒息 您收到 503 错误,因此这是服务器端错误(可能是由于您的请求内容所致),与 CORS 无关(如果是,则甚至不会到达服务器)。似乎也与 Stripe 没有太大关系。 【参考方案1】:

如何设置域?

您是否使用其他 HTTP 服务器作为代理?

请检查节点是否正在运行,如果是,请检查您的 HTTP 服务器是否也在运行。

可能您的节点已崩溃或没有运行。

参考this答案

您可以做的其他事情是尝试使用localhost:XXXX/path 或 Postman 直接访问 URL,然后查看服务器是否响应。

另外,我看到您的 content-typehtml。这是正确的还是应该是application/json?我这么说是因为你说飞行前进行得很好。这是 CORS 请求的一个已知问题

【讨论】:

OPTIONS 请求成功,所以服务器可用 试试关于内容类型的建议。

以上是关于使用 Angular 的 Stripe API 的 CORS 问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IOS 中使用 STRIPE API 创建 STRIPE 客户?

我可以在不使用 Stripe Card Element 的情况下使用 Stripe api

如何使用 Stripe 的 JavaScript API 验证优惠券?

使用 Stripe api 生成发票的问题

通过 API 添加 Stripe 订阅

订阅取消后 Stripe API 退款