2016-12-12 35 views
1

Ich habe eine Komponente (Code unten), die eine Textnachricht (SMS), über Twilio, an einen Benutzer sendet, wenn aktiviert. Die Nummer, an die die Textnachricht gesendet wird, ist dynamisch, basierend auf dem Benutzer, der gerade angemeldet ist. Daher muss die Nummer über die fekt-post-Anfrage gesendet werden. Einmal gepostet, habe ich eine Route (Service) auf Express festgelegt, um mit der Ausführung des Codes zu beginnen, um die SMS an die Nummer zu senden.Anfordern von Daten von fetch api gesendet

Mein Problem ist, dass ich nicht scheinen kann, Zugriff auf die Nummer zu bekommen, die gebucht wurde. Wie kann ich mit dem unten stehenden Code Zugang zu den Daten erhalten, die gesendet werden (wenn ich auch nur den richtigen Weg finde)?

Komponente:

//Fetch Request 
var request = new Request('./time', { 
    method: 'POST', 
    body:'6626****' 
}); 

getTime(){ 
    fetch(request).then(function(response) { 
     console.log(response); 
    }).catch(function(error) { 
     console.log(error);}); 
    }); 
} 

Express-Route (Service):

app.post("/time",function(req,res){ 
    client.messages.create({ 
     to: '+1'+req.data, 
     from: '+166****', 
     body: "This is the ship that made the Kessel Run in fourteen parsecs? 
    }); 
}); 

Antwort

0

Twilio Entwickler Evangelist hier.

cwbutler ist hier definitiv auf dem richtigen Weg. Es wäre besser, die Daten als Parameter in den Post-Daten an Ihr Backend zu senden und dann Body-Parser zu verwenden, um es zu extrahieren. Also, das würde ein bisschen so aussehen.

Verwenden Sie zuerst einen Parameter im Hauptteil und setzen Sie den Inhaltstyp auf application/x-www-form-urlencoded.

var request = new Request('./time', { 
    method: 'POST', 
    body:'number=6626****', 
    headers: { 
     "Content-Type": "application/x-www-form-urlencoded" 
    } 
}); 

Dann installieren Sie Body-Parser zu Ihrem Projekt.

$ npm install body-parser --save 

Dann in der Express-App benötigen Körper-Parser, setzen Sie die App, um sie zu verwenden und req.body für das Objekt suchen, die Ihre eingehenden Parameter hat.

var bodyParser = require("body-parser"); 

app.use(bodyParser.urlencoded()); 

app.post("/time",function(req,res){ 
    client.messages.create({ 
     to: '+1'+req.body.number, 
     from: '+166****', 
     body: "This is the ship that made the Kessel Run in fourteen parsecs?" 
    }); 
}); 

Lassen Sie mich wissen, ob dies überhaupt hilft.