如何在 AJAX 中形成授权 CURL 请求? [复制]

Posted

技术标签:

【中文标题】如何在 AJAX 中形成授权 CURL 请求? [复制]【英文标题】:How to form a authorization CURL request in AJAX? [duplicate] 【发布时间】:2019-01-15 21:28:45 【问题描述】:

我有以下 CURL 请求,需要 JWT 令牌才能访问 express.js 中的受保护路由。此请求运行良好。

curl --request GET \
  --url http://localhost:3001/api/v1/protected/random-quote \
  --header 'Authorization: Bearer eyJ0xxxxQ.NLNOn1caBeGFlPRnsSjLDIKFggMItcm-dl5PKOjlLxs' \
  --header 'Content-Type: application/json'

如何制定相应的 AJAX 请求?

<script>
var id_tok = Cookies.get('id_token');
var access_tok =   Cookies.get('access_token');

var headersOb = 'Authorization: Bearer ' + access_tok;

$.ajax(
  type: 'GET',
  url:   'http://localhost:3001/api/v1/protected/random-quote',
 headers: headersOb,
 contentType: 'application/json',
 dataType: 'json'
).done(function(data) 
 console.log(data);
 console.log('data called success');
);
</script>

使用上述 AJAX 请求,我收到以下错误:

VM9599 jquery.min.js:3049 GET   http://localhost:3001/api/v1/protected/random-quote 401 (Unauthorized)

【问题讨论】:

我认为headersOb 实际上应该是一个对象:"Authorization": "Bearer ..."。检查 DevTools 的“网络”请求是否包含您的自定义标头。 【参考方案1】:

需要将对象传递给headers选项

headers: 'Authorization': 'Bearer ' + access_tok

【讨论】:

谢谢。效果很好。

以上是关于如何在 AJAX 中形成授权 CURL 请求? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在ajax中重现成功的curl调用

如何通过php的curl模拟ajax请求,获取其返回值

为每个 cURL 请求返​​回 AJAX 结果

保护来自 Inspect 元素的 Ajax 请求中的授权标头

通过 CURL 发送 ajax 请求

AJAX 与 CURL