Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将客户端中的数据传递到服务器节点_Javascript_Node.js - Fatal编程技术网

Javascript 将客户端中的数据传递到服务器节点

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',

大家好,我是NodeJS的新手,我刚刚创建了一个非常简单的API来在stripe中传递我的一些数据,只是为了查看
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
从客户端请求服务器。是的,我刚刚看到他在我提交帖子后从客户端发送帖子