javascript - 为什么我的前端 Javascript 显示的 API 响应与浏览器不同?
问题描述
我有一个带有链接到 Stripe API 的 API 函数的 Flask 后端。当我在 Postman 或浏览器中调用它时,我得到的正是我所期望的(Stripe 生成的 URL)。但是,当我在我的 Javascript 代码中调用它时,我得到了完全不同的东西,我不知道为什么。
这是我在 Flask/Python 中的代码:
@app.route('/manage-subscription-portal', methods=['GET'])
def manageSubscriptionPortal():
portalTry = stripe.billing_portal.Session.create(
customer='cus_XXXXXXXXXXX',
return_url='https://example.com/account',
)
print(portalTry["url"])
return jsonify({'url' : portalTry["url"]})
当在邮递员中调用时,我得到这个作为响应(我期望)
{
"url": "https://billing.stripe.com/session/_ILW65rxo7ix3RLm3SBrZ9PQeDV7pHlm"
}
这是我的 Javascript 代码链接到一个按钮
manageSubscription.addEventListener("click", function(){
fetch('/manage-subscription-portal').then(response => {
console.log(response)
return response
}).then(portalSession => {
console.log(portalSession)
})
})
'response' 和 'portalSession' 都给出了图片中显示的内容
有谁知道为什么我的 Javascript 代码与 Postman 不同?
解决方案
嗨,如果您使用的是 HTML5 fetch API,您可以像这样从服务器访问返回的 JSON
manageSubscription.addEventListener("click", function(){
fetch('/manage-subscription-portal').then(response => {
return response.json()
}).then(portalSession => {
console.log(portalSession)
})
})
推荐阅读
- python - 无法安装 MetaTrader5
- javascript - if else 条件下 javascript 中提示值的数据类型
- amazon-web-services - AWS IAM 策略通过 ec2-instance-connect 限制对特定 ec2 实例的访问
- android - 如果未找到指纹,则使用 Pin 或模式进行身份验证 Android
- html - 使用 flex 垂直居中在 Internet Explorer 11 中无法正常工作
- asp.net-core-3.0 - .net 核心 3.0 + IIS 10
- c# - Uno Platform Android 启动画面确实完全消失了
- python - 在python的for循环中声明类属性
- javascript - 根据常数显示单选按钮
- python - 在 Flask 应用程序中绑定 LDAP 连接时出现 LDAPInvalidDNSyntaxResult 错误