2017-06-09 47 views
0

嗨Im非常新的節點js和我剛剛創建了一個非常簡單的API來傳遞條帶中的一些數據只是爲了看到stripe.charges.create的功能,我想創建一個API通過我的令牌,並創建一個費,但我真的不知道如何獲得數據hwen用戶點擊付費..在客戶端傳遞數據到服務器節點

這是我的客戶端

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問題IM真的很新的節點JS

+0

變化'GET'到'POST'在'router.post( '/',函數(REQ,RES){' – Sravan

回答

2

api

所有變化getpost首先由於您使用從POST請求一個很好的做法您應該使用的客戶端post

現在,您將獲得您發送的數據從客戶端req.body因爲您使用了body-parser請求附加一個正文。

所以,你可以用你的道理,因爲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 }); 
}); 
1

在您的節點服務器,在那裏你定義你的路由。此外,這將是使用POST請求方法

router.post('/', function(req, res) { 
    ... 
    console.log(req.body.token); 
} 

鏈接到文件 Node ExpressJs req.body

+0

他應該使用'post',因爲這不是一個好習慣,他會從客戶端向服務器發送'post'請求。 – Sravan

+0

是的,我剛剛看到他在發送郵件後發送來自客戶端的POST – XPLOT1ON

相關問題