【问题标题】:Node.js error: Route.post() requires a callback function but got a [object Object]Node.js 错误:Route.post() 需要回调函数但得到了 [object Object]
【发布时间】:2018-07-08 18:12:59
【问题描述】:

我正在运行一个 Node.js 脚本,以使用这些说明 https://stripe.com/docs/connect/standard-accounts#token-request 从 Stripe 获取 JSON 响应

但是,我收到以下代码的以下错误:

错误:Route.post() 需要回调函数但得到了一个 [object Object]

代码

var app = express();
var stripe = require('stripe')('sk_test_XXXXXXXXXXXXXXXX')
var bodyParser = require('body-parser')
var request = require('request')

app.post('/ptaccountid',(req,res) => {

  var authCode = req.body.code;

  app.post('https://connect.stripe.com/oauth/token', {
    form: {
     client_secret: "sk_test_XXXXXXXXXXXXXXXX",
     code: authCode,
     grant_type: "authorization_code",
    }
 }, function(err, response, body) {
    if (!err && response.statusCode == 200) {
      console.log(body)
  }
});
}); 

【问题讨论】:

  • app.post 函数不适用于发送数据。 app.post函数是在应用程序中定义一个路由,它的第二个参数必须是一个处理该路由请求的函数。
  • @juzraai 谢谢你 - 我应该改用什么结构?

标签: node.js stripe-connect


【解决方案1】:

您应该使用request.post 而不是app.post

检查下面的代码,

app.post('/ptaccountid',(req,res) => {
    var authCode = req.body.code;

    request.post('https://connect.stript.com/oauth/token', {
          form: {
           client_secret: "sk_test_XXXXXXXXXXXXXXXX",
           code: authCode,
           grant_type: "authorization_code",
          }
        }, function(err, response, body) {
          if (!err && response.statusCode == 200) {
            console.log(body)
        }
    });
}); 

希望这会有所帮助!

【讨论】:

  • 感谢您的回答。然后我得到错误:TypeError: req.post is not a function
  • 我的错!.. 应该是 request.post 而不是 req.post .. 检查我上面编辑的帖子。
  • 欢迎@AnnabelleSykes .. 很高兴它现在已经整理好了! :-)
猜你喜欢
  • 2020-12-20
  • 2015-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-22
  • 1970-01-01
  • 2020-06-29
  • 1970-01-01
相关资源
最近更新 更多