2016-05-15 1 views
1

Мне нужно сделать запрос из JavaScript, но я только знаю, как сделать это с curl:Как сделать запрос из JavaScript по аналогии завитка запроса

curl https://example.com/api -u test_123: -d source=123 -d description="Aaaa Bbbb" -d email="[email protected]" 

Я знаю, что -d является параметром POST, так что я могу сделать:

fetch(`${config.baseUrl}/api/users/profile/`, 
{ method: 'POST', 
    data: JSON.stringify({source: 123, description: 'Aaaa Bbb', email: '[email protected]'}) 
}) 
.then(response => { 
    // do something 
}) 

Как я могу установить -u пользователя? Это заголовок?

Update

Я сделал запрос в режиме отладки и получить следующий вывод:

> * 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?

+2

Не знаете, как сделать это с изоморфными, но вы можете проверить http://stackoverflow.com/questions/31473420/make-an-http-post-authentication-basic-request-using-javascript – Sergio

+0

Em, нет ответа ..) – Janom

+0

Aaa ok У меня это есть. Спасибо. – Janom

ответ

1

Я не знаю этого fetch функции, которую вы используете, и я предполагаю, что это часть изоморфной. Если его поддерживает headers вариант вы можете установить заголовок Authorization с кодировкой Base64 лексемы:

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: '[email protected]'}) 
}) 
.then(response => { 
    // do something 
}) 
+0

Да, спасибо. – Janom

 Смежные вопросы

  • Нет связанных вопросов^_^