Prawdopodobnie bardzo podstawowe pytanie, ale nie mogę znaleźć prostej odpowiedzi.Jak przekazywać parametry po stronie klienta do strony serwera w Angular/Node.js/Express
Mam metodę GET wykorzystującą Angulara $http
, która żąda obietnicy z konkretnego adresu URL (URL_OF_INTEREST
).
Na tym serwerze uruchamiam skrypt ekspresowy server.js
, który może obsłużyć żądania GET.
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);
mogę komunikować się z URL_OF_INTEREST za pomocą metody GET kątowym następująco:
$http.get('URL_OF_INTEREST')
.success(
function(success){
console.log(success)
})
.error(
function(error){
console.log(error)
});
Jednak pola kwota, waluta, źródło i opis potrzeba najlepiej przenieść z aplikacji Angular po stronie klienta.
Jak można to osiągnąć i jak moja wyraźna aplikacja może odczytać te dane?
Got it! Ale jak odczytujesz dane teraz po stronie serwera? – JohnAndrews
Właśnie zredagowałem odpowiedź. Po prostu użyj "req.query.amount", aby uzyskać swoje dane. – vinagreti
Dziwne, dostaję niezdefiniowane ... – JohnAndrews