2017-05-02 3 views
0

J'ai créé une API simple avec Hapi qui a une route que je peux POST pour, qui ressemble à ceci:utilisant les méthodes JavaScript Fetch API avec Hapi

server.route({ 
    method: "POST", 
    path: "/hello", 
    handler: function(request, reply) { 
    // It doesn't ever get to here 
    return reply({hello: request.payload.name}); 
    }, 
    config: { 
    validate: { 
     payload: { 
     name: Joi.string().required() 
     } 
    } 
    } 
}); 

Je peux envoyer avec succès une requête POST sur ce chemin dans Postman : Postman Request Renvoie la réponse attendue. Mais, quand j'utilise ce morceau de Javascript pour envoyer la demande:

fetch("http://localhost:1111/hello", { 
    mode: "cors" 
    body: {name: "John Doe"} 
}).then(() => { 
    console.log("yay! it worked"); 
}); 

Cela échoue, et dit « valeur » doit être un objet.

Répondre

0

Il se trouve, je devais juste stringify JSON d'abord, puis cela a fonctionné:

fetch("http://localhost:1111/hello", { 
    mode: "cors" 
    body: JSON.stringify({name: "John Doe"}) 
}).then(() => { 
    console.log("yay! it worked"); 
});