为什么nodejs返回404?

时间:2014-06-29 02:46:45

标签: javascript node.js deployd

我正在尝试为deployd后端创建一个自定义模块,以便使用instagram api进行身份验证。代码如下:

var request = require('request');

var payload = undefined;

process.server.on('request', function(req, res) {
if (req.url === '/foo') {

    function getPayload(callback) {
        var code = req.headers.referer.substr(req.headers.referer.lastIndexOf('/') + 1);

        request.post('https://api.instagram.com/oauth/access_token', {form:{
            client_id: '****',
            client_secret: '****',
            grant_type: 'authorization_code',
            redirect_uri: 'http://localhost:2403/auth/auth.html',
            code: code
        }}, 
        function(error, response, body) {
            var payload = JSON.stringify(body);
            console.log(payload);
            callback();
        });
    }

    function setPayload() {
        res.end(payload);
    }

    getPayload(setPayload);
}
});

我可以从instagram服务器上调用console.log响应,但是当我尝试将响应写回客户端时,我得到了404响应。我错过了什么?对不起,如果这是一个总的菜鸟问题。那是因为我是个菜鸟。提前谢谢。

抱歉缺乏清晰度。编辑更多信息:我正在使用上面的代码在/ foo创建一个端点。客户端从包含Instagram访问代码的引用URL向/ foo发送GET请求。然后,服务器将访问代码与其他特定于应用程序的参数一起POST到Instagram服务器,该服务器返回包含授权令牌的对象和关于用户的信息。 404来自客户端GETs / foo。我的代码成功地将访问代码发送到Instagram服务器并返回包含访问令牌的对象 - 这在控制台上输出 - 但它不会将其写回客户端,并且客户端获得404.此外,404是在Instagram服务器返回的对象登录到控制台之前返回到客户端。

0 个答案:

没有答案