我正在构建一个react项目,并且正在使用一个api,在api文档中,他们只提供了这个curl命令。
#!/bin/bash
apiKey="yourApiKey"
secret="yourSecret"
curl -i \
-X GET \
-H 'Accept:application/json' \
-H 'Api-key:'$apiKey'' \
-H 'X-Signature:'$(echo -n ${apiKey}${secret}$(date +%s)|sha256sum|awk '{ print $1}')'' \
https://example.com
我如何将这段代码转换为javascript fetch?
我试过这个代码
const sec = Date.now() / 1000 + "";
const myString = "someApiKey" + "apiSecret" + sec;
const bitArr = sjcl.hash.sha256.hash(myString);
const hash = sjcl.codec.hex.fromBits(bitArr);
useEffect(() => {
fetch(
"https://cors-anywhere.herokuapp.com/https://example.com", {
method: "GET",
headers: {
Accept: "application/json",
"content/type": "application/json",
"Api-key":'someApiKey',
'X-Signature': hash
},
})
.then((res) => res.json())
.then((data) => console.log(data))
.catch((err) => console.log(err));
}, []);
但它给我错误TypeError:无法在'Window'上执行'fetch':无效的名称
1条答案
按热度按时间ntjbwcob1#
步骤1
修复内容类型
尝试使用“内容类型”而不是“内容/类型”
步骤2
记录文本而不是json以查看返回的内容