Wie die Weitergabe der client-Seite die Parameter auf der server-Seite in Eckig/Knoten.js/Express
Wahrscheinlich eine sehr einfache Frage, aber ich kann nicht scheinen zu finden, eine einfache Antwort.
Habe ich eine GET-Methode nutzt Eckig ist $http
angefordert wird, ein Versprechen von einer bestimmten url (URL_OF_INTEREST
).
Auf diesem server betreibe ich einen express-Skript server.js
script verarbeiten können-GET-Anfragen.
server.js
var express = require('express'); //call express
var app = express(); //define our app using express
var bodyParser = require('body-parser');
var stripe = require("stripe")("CUSTOM_TEST_TOKEN");
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var port = process.env.PORT || 8080;
var router = express.Router(); //get an instance of the express Router
router.get('/', function(req, res, next) {
var stripeToken = "CUSTOM_PAYMENT_TOKEN";
var charge = stripe.charges.create({
amount: 1100, //amount in cents, again
currency: "usd",
source: stripeToken,
description: "Example charge"
}, function(err, charge) {
if (err && err.type === 'StripeCardError') {
res.json(err);
} else {
res.json(charge);
}
});
});
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
})
app.use('/api', router); //register our route
app.listen(port); //start our server
console.log('Magic happens on port ' + port);
Kann ich die Kommunikation mit der URL_OF_INTEREST mit einer Eckigen GET-Methode wie folgt:
$http.get('URL_OF_INTEREST')
.success(
function(success){
console.log(success)
})
.error(
function(error){
console.log(error)
});
Jedoch, werden die Felder Betrag, Währung, Quelle und Beschreibung müssen werden optimal weitergegeben aus der Win-client-seitige Anwendung.
Wie kann das erreicht werden und wie kann ich meine express-Anwendung diese Daten Lesen?
InformationsquelleAutor JohnAndrews | 2015-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie müssen übergeben Sie die Daten in Ihren, Ruf als folow:
Und in Ihrem backend installieren können, erhalten Sie Ihre url-Parameter als folow:
Ich habe gerade editiert die Antwort. Verwenden Sie einfach "req.Abfrage.Betrag", um Ihre Daten.
komisch, ich bin immer undefined...
Sie können "debug" Ihre "erf.Abfrage" zu sehen, was kommt von deinem client aus. Überprüfen Sie Ihre ajax-Aufruf, mit dev-tools, und sehen Sie die Query-String-Parameter, um sicherzustellen, dass Ihre Daten gesendet werden.
Nein, ich bekomme immer {} req.query, aber nach wrapper mit {param: {...} ist.}, dann bin ich in der Lage, das params.
InformationsquelleAutor Bruno João
HTTP BEKOMMEN Methode
Client:
Server:
HTTP POST Methode
Client:
Server:
InformationsquelleAutor Trung Le Nguyen Nhat
Antwort vs Gute Lösung
HTTP POST bevorzugt wird beim senden von Daten an den server.
HTTP-Methode GET bedeutet, dass die Abfrage von Daten, nicht Daten zu senden. Da ein HTTP-request mit BEKOMMEN Methode immer verlangen.Körper leer. Aber immer noch Daten gesendet werden können, um server per GET mit dem Abfrage-string. In deinem Fall:
Client
Server
Glücklich Zu Helfen!
req.query
stattreq.body
oderreq.params
. Nach der Suche so lange, damit endlich mein problem gelöst! Danke!!!InformationsquelleAutor Zeeshan Hassan Memon
Können Sie erstellen, JS-Objekt mit dem Parameter, und verwenden Sie dann die jQuery -
$.param
( http://api.jquery.com/jquery.param/ ) leicht serialisieren, indem Sie in einer URL-query-string:Und auf Ihre
$http
nennen:BEARBEITEN: ODER wenn Sie nicht wollen, um jQuery verwenden:
Auf server-Seite, benutzen Sie einfach die
req
Objekt, um die Parameter:Du hast Recht. Aber es ist ein Weg, um das problem zu lösen und es funktioniert.
InformationsquelleAutor alvarodms