Javascript 将客户端中的数据传递到服务器节点
大家好,我是NodeJS的新手,我刚刚创建了一个非常简单的API来在stripe中传递我的一些数据,只是为了查看Javascript 将客户端中的数据传递到服务器节点,javascript,node.js,Javascript,Node.js,大家好,我是NodeJS的新手,我刚刚创建了一个非常简单的API来在stripe中传递我的一些数据,只是为了查看stripe.charges.create,我想创建一个API来传递我的令牌并创建费用,但我真的不知道如何在用户单击pay时获取数据 这是我的客户端 var handler = StripeCheckout.configure({ key: 'MY publiskKEY', image: 'img/logo.jpg',
stripe.charges.create
,我想创建一个API来传递我的令牌并创建费用,但我真的不知道如何在用户单击pay时获取数据
这是我的客户端
var handler = StripeCheckout.configure({
key: 'MY publiskKEY',
image: 'img/logo.jpg',
locale: 'auto',
token: function(token) {
// You can access the token ID with `token.id`.
// Get the token ID to your server-side code for use.
$http({
method: 'POST',
url: 'http://localhost:8080/api',
data: {
token: token.id
}
}).success(function(data) {
}).error(function() {
});
console.log(token)
console.log(token.id)
}
});
$scope.stripeForm = function(e) {
handler.open({
name: 'Sample Form',
description: 'Payment',
amount: 1000
});
// Close Checkout on page navigation:
window.addEventListener('popstate', function() {
handler.close();
});
}
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var stripe = require('stripe')('my publish key');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var port = process.env.PORT || 8080;
var router = express.Router();
router.get('/', function(req, res) {
var charge = stripe.charges.create({
amount: 1000,
currency: "usd",
description: "Example charge",
source: 'This is i want to store my token.id',
}, function(err, charge) {
console.log(err, charge)
});
res.json({ token: token });
});
app.use('/api', router);
app.listen(port);
console.log('Magic happens on port ' + port);
这是我的服务器端
var handler = StripeCheckout.configure({
key: 'MY publiskKEY',
image: 'img/logo.jpg',
locale: 'auto',
token: function(token) {
// You can access the token ID with `token.id`.
// Get the token ID to your server-side code for use.
$http({
method: 'POST',
url: 'http://localhost:8080/api',
data: {
token: token.id
}
}).success(function(data) {
}).error(function() {
});
console.log(token)
console.log(token.id)
}
});
$scope.stripeForm = function(e) {
handler.open({
name: 'Sample Form',
description: 'Payment',
amount: 1000
});
// Close Checkout on page navigation:
window.addEventListener('popstate', function() {
handler.close();
});
}
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var stripe = require('stripe')('my publish key');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var port = process.env.PORT || 8080;
var router = express.Router();
router.get('/', function(req, res) {
var charge = stripe.charges.create({
amount: 1000,
currency: "usd",
description: "Example charge",
source: 'This is i want to store my token.id',
}, function(err, charge) {
console.log(err, charge)
});
res.json({ token: token });
});
app.use('/api', router);
app.listen(port);
console.log('Magic happens on port ' + port);
对不起,我对noob这个问题很陌生。在节点服务器上定义路由。此外,使用
POST
request方法也是一种很好的做法
router.post('/', function(req, res) {
...
console.log(req.body.token);
}
链接到文档
在节点服务器上,定义路由。此外,使用
POST
request方法也是一种很好的做法
router.post('/', function(req, res) {
...
console.log(req.body.token);
}
链接到文档
首先将
get
更改为post
中的api
由于您使用的是来自客户端的post请求,因此应使用post
现在,您将在请求正文
中获得从客户端发送的数据,因为您使用了正文解析器
将正文附加到请求
因此,您可以使用您的令牌,如req.body.token
router.post('/', function(req, res) {
// here you can use your request object
// like req.body.token req.body
console.log(req.body)
console.log(req.body.token)
var charge = stripe.charges.create({
amount: 1000,
currency: "usd",
description: "Example charge",
source: 'This is i want to store my token.id',
}, function(err, charge) {
console.log(err, charge)
});
res.json({ token: token });
});
首先,将
get
更改为api中的post
由于您使用的是来自客户端的post请求,因此应使用post
现在,您将在请求正文
中获得从客户端发送的数据,因为您使用了正文解析器
将正文附加到请求
因此,您可以使用您的令牌,如req.body.token
router.post('/', function(req, res) {
// here you can use your request object
// like req.body.token req.body
console.log(req.body)
console.log(req.body.token)
var charge = stripe.charges.create({
amount: 1000,
currency: "usd",
description: "Example charge",
source: 'This is i want to store my token.id',
}, function(err, charge) {
console.log(err, charge)
});
res.json({ token: token });
});
将get
更改为router.post('/',函数(req,res){
将get
更改为router.post('/',函数(req,res)中的post
{
他应该使用post
因为这不是一个好的做法。因为他正在从客户端向服务器发送post
请求。是的,我刚刚看到他在我提交post后从客户端发送post他应该使用post
因为这不是一个好的做法。因为他正在发送post
从客户端请求服务器。是的,我刚刚看到他在我提交帖子后从客户端发送帖子