![](/img/trans.png)
[英]GraphQL API works with Postman, but failed with Javascript fetch
[英]API works with Postman but fails with Javascript Fetch
我有一个API,必须向其发布JSON正文以及基本身份验证。 这在使用邮递员时对我有用,但是,我无法使其与Javascript Fetch
方法一起使用。
我的要求是:
{
"plan_id": "plan_AbN7hMdqK8hJ1R",
"customer_notify": 1,
"total_count": 6
}
如您所见,获取结果没有任何问题。 但是,当我使用以下代码在Javascript中执行相同操作时,它将失败。
var url = "https://api.somepay.com/v1/subscriptions"
var body = {
"plan_id": "plan_AbN7hMdqK8hJ1R",
"customer_notify": 1,
"total_count": 6
}
// handle click
button.on("click", function(){
fetch(url,
{
method: 'post',
mode: 'no-cors',
body : JSON.stringify(body),
headers: {
'Authorization': 'Basic ' + btoa('user:passkey'),
'Content-Type' :'application/json',
'Accept' :'application/json'
},
}).then(function(response) {
return response.json();
})
})
我收到以下错误:
1。
POST https://api.razorpay.com/v1/subscriptions 401(未经授权)
2。
未捕获(在承诺中)SyntaxError:在(index):89的输入意外结束
3。
跨域读取阻止(CORB)阻止了MIME类型为application / json的跨域响应https://api.apipay.com/v1/subscriptions 。 有关更多详细信息,请参见https://www.chromestatus.com/feature/5629709824032768 。
我认为您应该更改此行:
Authorization':'Basic ' + btoa({'user':'passkey'});
要么
Authorization':'Basic ' + btoa(user.passkey);
希望它能工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.