Проблемы с Fetch и XMLHttpRequest в JavaScript - PullRequest
0 голосов
/ 21 сентября 2018

Так что я делаю задание для школы и у меня проблемы с использованием API в сценарии Java.Когда я использую XMLHttpRequest, я получаю код состояния «0».После разочарования от попытки использования XML, который я пытался использовать fetch, теперь я получаю сообщение об ошибке «Загрузка не удалась: OPTIONS '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());
    }
}

И вот то же самое, что было предпринято с fetch:

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 голосов
/ 21 сентября 2018

вы можете попробовать удалить параметры заголовков.Эта ошибка

Загрузка не удалась: ОПЦИИ

из-за того, что вы отправляете заголовок, который не распознается сервером, я бы начал с него.

...