繁体   English   中英

使用ExpressJS发出发布请求

[英]Making post requests with ExpressJS

我想对GET操作发出POST请求。

一切正常,但发布后我看不到“ TOKEN”,我也不明白为什么。

    var request = require('request');

    exports.getToken = function(req, res){

        var postData = {
            client_id: CLIENT_ID,
            client_secret: CLIENT_SECRET,
            grant_type: 'authorization_code',
            redirect_uri: REDIRECT_URI,
            code: CODE
        }

        request.post({
            uri:"https://api.instagram.com/oauth/access_token",
            form: postData,
            followRedirect: true,
            maxRedirects: 10
        },function(err,res,body){
            var data = JSON.parse(body);
            TOKEN = data.access_token;
        });

        console.log(TOKEN);

        res.render('index', {title: '*****'});
    }

console.log(TOKEN)在request.post之后立即执行,因此您没有时间给它完成请求。 这就是您提供回调的原因:一个在请求完成后将执行的函数。

尝试将console.log移到回调函数中,看看是否在那里获取数据。 您可以阅读许多内容以了解异步编程。 例如:

http://callbackhell.com/

http://recurial.com/programming/understanding-callback-functions-in-javascript/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM