如何将指定cURL请求正确转换为JavaScript fetch()请求格式
cURL 转 JavaScript fetch 实现示例
你提供的 cURL 为 GET 类型请求,仅携带 Authorization 授权头,对应的 fetch 实现如下:
// 异步 async/await 写法(推荐,需放在 async 函数中使用) async function fetchAccounts() { // 替换为你自己的有效授权令牌 const authToken = "9VKwFeoS8QfeQEeFxD5MiOf6YlFQR0nOpLF1ZUrHRrWqp3rY7G13hy"; try { const response = await fetch("https://api.sparebank1.no/open/personal/banking/accounts/all", { method: "GET", headers: { "Authorization": `Bearer ${authToken}` } }); // 校验HTTP请求状态是否正常 if (!response.ok) { throw new Error(`HTTP请求错误,状态码:${response.status}`); } // 接口返回JSON格式数据时使用该方法,其他格式可替换为text()、blob()等 const responseData = await response.json(); console.log("请求成功,返回数据:", responseData); return responseData; } catch (err) { console.error("请求失败:", err); } } // 调用函数 fetchAccounts();
如果你需要使用传统 Promise 链式写法,可参考如下代码:
// 替换为你自己的有效授权令牌 const authToken = "9VKwFeoS8QfeQEeFxD5MiOf6YlFQR0nOpLF1ZUrHRrWqp3rY7G13hy"; fetch("https://api.sparebank1.no/open/personal/banking/accounts/all", { method: "GET", headers: { "Authorization": `Bearer ${authToken}` } }) .then(response => { if (!response.ok) { throw new Error(`HTTP请求错误,状态码:${response.status}`); } return response.json(); }) .then(responseData => { console.log("请求成功,返回数据:", responseData); }) .catch(err => { console.error("请求失败:", err); });
- 注意事项
- 生产环境不要将授权令牌硬编码到前端代码中,避免凭证泄露引发安全问题
- 若请求出现跨域报错,需要目标接口服务端配置CORS规则允许你所在的域名访问,或通过后端代理转发请求
- 若接口返回非JSON格式数据,可根据实际返回类型调整响应解析方法,比如
response.text()解析纯文本、response.blob()解析二进制文件
内容的提问来源于stack exchange,提问作者Leif Magnus Gauksås
相关产品推荐
相关产品推荐

