2017-07-31 4 views
1

J'ai 2 applications distinctes, une application react-native et un serveur backend express. J'ai créé le serveur en utilisant express-generator. Mon serveur a le code suivant dans users.jsComment envoyer une requête à un serveur express à partir d'une application native?

router.get('/', function(req, res, next) { 
    res.json([{ 
    id: 1, 
    username: "foo" 
    }, { 
    id: 2, 
    username: "bar" 
    }]); 
}); 

Le serveur est à l'écoute sur le port 8080 et ont app.use('/users', users). Fondamentalement, juste tout le code qui vient avec express-generator.

Dans ma réaction application native, je: "proxy": "http://localhost:8080"

Et puis dans App.js:

componentDidMount() { 
    fetch('/users' 
    .then(res => res.json()) 
    .then(users => this.setState({ users })) 
} 

J'utilise Expo pour charger mon application sur un appareil Android, et je reçois: unexpected url: /users . Si je visite localhost:8080 dans mon navigateur, les données sont visibles, donc je pense que le problème doit être du côté client.

+0

Est-ce que vous êtes connecté à votre appareil? –

Répondre

0

Vous devez ajouter le nom d'hôte complet et le numéro de port lorsque vous faites une demande. Vous devez écrire l'URL complète lors de l'obtention des données en tant que http://localhost:8080/users dans votre App.js.