我需要来自JavaScript的make请求,但我只知道如何使用curl
:
curl https://example.com/api -u test_123: -d source=123 -d description="Aaaa Bbbb" -d email="aaaa@example.com"
我知道-d
是一个POST参数,所以我可以:
fetch(`${config.baseUrl}/api/users/profile/`,
{ method: 'POST',
data: JSON.stringify({source: 123, description: 'Aaaa Bbb', email: 'aaaa@example.com'})
})
.then(response => {
// do something
})
如何设置-u
用户?它是标题吗?
更新
我已在调试模式下发出请求并获得以下输出:
> * Server auth using Basic with user 'sk_test_GAaENEsG0PBmvtHBA2g49sPy'
> > POST /v1/customers HTTP/1.1
> > Authorization: Basic c2tfdGVzdF9HQWFFTkVzRzBQQm12dEhCQTJnNDlzUHk6
> > User-Agent: curl/7.35.0
> > Host: api.stripe.com
> > Accept: */*
> > Content-Length: 94
> > Content-Type: application/x-www-form-urlencoded
所以-u
选项只转换为base64?
答案 0 :(得分:1)
我不知道您正在使用的这个fetch
功能,并且我假设它是同构的一部分。如果它支持headers
选项,您可以使用base64编码标记设置Authorization
标头:
fetch(`${config.baseUrl}/api/users/profile/`,
{ method: 'POST',
headers: {
"Authorization": "Basic " + window.btoa("test_123:password")
},
data: JSON.stringify({source: 123, description: 'Aaaa Bbb', email: 'aaaa@example.com'})
})
.then(response => {
// do something
})