可能是一个非常基本的问题,但我似乎找不到简单的答案。
我有一个利用Angular的GET方法$http,该方法从特定的url(URL_OF_INTEREST)请求一个Promise 。
$http
URL_OF_INTEREST
在此服务器上,我运行server.js可以处理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);
我可以使用Angular GET方法与URL_OF_INTEREST通信,如下所示:
$http.get('URL_OF_INTEREST') .success( function(success){ console.log(success) }) .error( function(error){ console.log(error) });
但是,字段数量,货币,来源和描述需要从Angular客户端应用程序理想地传递。
如何实现此目的,我的快速应用程序如何读取此数据?
您需要按照以下方式在get调用中传递数据:
var data = { amount: 3, currency: 2, source: 3, description: 4 }; $http.get('URL_OF_INTEREST', data) // PASS THE DATA AS THE SECOND PARAMETER .success( function(success){ console.log(success) }) .error( function(error){ console.log(error) });
在后端,您可以按照以下方式获取url参数:
router.get('/', function(req, res, next) { var amount = req.query.amount; // GET THE AMOUNT FROM THE GET REQUEST 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); } }); });