React-Fetch natif, la requête réseau a échoué. n'utilisant pas localhost

j'ai une application, que j'utilise fetch pour authentifier l'utilisateur. ça marchait jusqu'à il y a quelques jours et je n'ai rien changé. je viens de passer de react 0.27 à 0.28, pas de fetch ne fonctionne pas.

j'ai cherché pendant presque 2 jours et j'ai lu presque toutes les questions dans stackoverflow. la plupart des utilisateurs essayant de récupérer quelque chose de localhost, et quand ils le changent en adresse ip réelle , ils le font fonctionner. mais je ne vais rien chercher chez localhost, moi aussi. code utilisé pour travailler.

voici mon code:

fetch('http://somesite.com/app/connect', {
      method: 'POST',
      headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json',
        'language':'en-US',
        'Authorization': 'Bearer ' + access_token,
      },
      body: JSON.stringify({
        uid: uid,
        refresh_token: refresh_token,
        token: access_token,
        device: device_id,
        device_name: device_name,
      })
    })
.then((response) => response.json())
.then((responseData) => {
    console.log(JSON.stringify(responseData.body))
})
.catch((err)=> {
  console.log('Some errors occured');
  console.log(err);
})
.done();

j'ai essayé de faire de nouveaux projets, simple, juste utilisé un simple fetch exemple de tutoriels, il a donné la même erreur. j'ai essayé d'ouvrir mon site web qui im essayer de se connecter à elle, à travers le navigateur dans l'émulateur, il fonctionne, mais il semble à travers mon, application ne peut pas se connecter à un site Web/ip. il donne cette erreur dans la console chrome:

TypeError: Network request failed
    at XMLHttpRequest.xhr.onerror (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:28193:8)
    at XMLHttpRequest.dispatchEvent (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:14591:15)
    at XMLHttpRequest.setReadyState (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:29573:6)
    at XMLHttpRequest.__didCompleteResponse (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:29431:6)
    at http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:29506:52
    at RCTDeviceEventEmitter.emit (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:13428:23)
    at MessageQueue.__callFunction (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:11999:23)
    at http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:11906:8
    at guard (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:11857:1)
    at MessageQueue.callFunctionReturnFlushedQueue (http://localhost:8081/index.ios.bundle?platform=ios&dev=true&hot=true:11905:1)

en fait, j'ai le même problème que cet utilisateur ici : Réagissent-réseau natif demande échoue toujours

mise à jour : info.plist de xcode

toute aide sera appréciée!

27
demandé sur Community 2016-06-28 16:12:57

2 réponses

regardez ce lien: https://github.com/facebook/react-native/issues/8118

semble que le problème a émergé dans React Native 0.28. La Solution est de "permettre des charges arbitraires" dans l'info.fichier plist trouvé dans le dossier iOS > build qui crée React.

si vous ouvrez l'ensemble du dossier ios dans xcode, ouvrez cette information.vous pouvez créer une nouvelle clé pour permettre des charges arbitraires et il devrait corriger votre problème.

Allow Arbitrary Loads

56
répondu Ahmed Haque 2016-07-06 08:28:32

règle l'info.plist ne travaille pas pour moi aussi. Essayez d'exécuter sur iOS.

0
répondu GustavoSevero 2018-08-31 13:49:11