Je suis en train de créer un site Web React js où je dois appeler une API de conversion de devises. L'appel de cette API fonctionne parfaitement lorsqu'elle est servie localement (sur localhost), mais une fois que je l'ai déployée sur Netlify, elle ne fonctionne pas.

ConvertCurrency = async (from, to, amount) => {
        let endpoint = 'xxxxxx';
        let access_key = "xxxxxxxxxxxx"; 

        const url = 'http://data.fixer.io/api/' + endpoint + '?access_key=' + access_key + '&from=' + from + '&to=' + to + '&amount=' + amount;

        try {
            const res = await Axios.get(url)
            const rate = Math.round(((res.data.info.rate* 100) / 100)).toFixed(2)
            return rate;
        } catch (err) {
            console.log(err)
        }
        return -1;
    }

C'est l'erreur que j'attrape (dans l'exception try{}catch(){}).

Error: Network Error
    at e.exports (createError.js:17)
    at XMLHttpRequest.p.onerror (xhr.js:83)

Toute aide est appréciée.

Merci

1
Byusa 15 nov. 2020 à 05:01

1 réponse

Meilleure réponse

J'ai trouvé l'erreur!

Solution:

Le problème était d'utiliser HTTP au lieu de HTTPS. En effet, pour que les API répondent à vos demandes en production, vous devez fournir une URL sécurisée.

const url = 'https://data.fixer.io/api/' + endpoint + '?access_key=' + access_key + '&from=' + from + '&to=' + to + '&amount=' + amount;
0
Byusa 15 nov. 2020 à 05:10