JavaScript 中 Fetch 和 XMLHttpRequest 的问题



所以我正在为学校做作业,并且在使用 java 脚本中的 API 时遇到麻烦。当我使用 XMLHttpRequest 时,我收到状态代码"0"。在尝试使用 XML 感到沮丧后,我尝试使用 fetch,我现在收到错误"获取加载失败:选项'https://api-us.faceplusplus.com/facepp/v3/detect'">

为了将其置于上下文中,我已经将图像转换为 base64,并且需要将该 base64 解析为 face++ 的参数,以便做一些人脸识别工作,当它工作时应该很酷!

下面是 XML 代码:

function getInfo(base64) {
var request = new XMLHttpRequest();
request.open("POST", "https://api-us.faceplusplus.com/facepp/v3/detect");
request.setRequestHeader('api_key', 'my key');
request.setRequestHeader('api_secret', 'my secret');
request.setRequestHeader('image_base64', toString(base64));
request.send(null);
request.onload = function() {
console.log(request.status());
}
}

这是在获取时尝试的相同事情:

function getInfo(base64) {
var url = "https://api-us.faceplusplus.com/facepp/v3/detect"
var data = {
"api_key":"my key",
"api_secret":"my secret",
"image_base64":toString(base64)
}
var params = {
headers:{
"Content-Type":"application/json; charset=UTF-8"
},
body:data,
method:"POST"
}
fetch(url, params).then(data=>{return data.json()}).then(res=>{console.log(res.statusText)}).catch(error=>console.log(error))
}

我显然在这里错过了一些东西,非常感谢任何帮助!希望我已正确格式化。

您可以尝试删除标头参数。此错误

抓取加载失败:选项

是因为您正在发送一些服务器无法识别的标头,我会从那里开始。

最新更新