2017-05-02 3 views
0

ich eine einfache API mit Hapi erstellt, die eine Route hat ich POST kann, die wie folgt aussieht:FETCH die Javascript-API mit 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() 
     } 
    } 
    } 
}); 

Ich kann eine POST-Anfrage an diesen Pfad in Postman erfolgreich senden : Postman Request Es gibt die erwartete Antwort zurück. Aber, wenn ich dieses Stück von Javascript verwenden, um die Anfrage zu senden:

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

Dies schlägt fehl, und sagt: „Wert“ muss ein Objekt sein.

Antwort

0

Es stellt sich heraus, ich brauche nur zuerst die JSON stringify, und es funktionierte dann:

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