javascript中的Fetch和XMLHttpRequest的问题

时间:2018-09-21 02:23:45

标签: javascript xml xmlhttprequest fetch

所以我正在为学校做作业,并且在使用Java脚本中的API时遇到了麻烦。当我使用XMLHttpRequest时,我收到状态代码“ 0”。在尝试使用fetch尝试使用XML失败后,现在出现错误“提取失败加载:选项'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))
}

我显然在这里缺少任何东西,非常感谢您的帮助!希望我已经正确格式化了。

1 个答案:

答案 0 :(得分:0)

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

  

获取失败的加载:选项

是因为您正在发送一些服务器无法识别的标头,所以我将从此处开始。