javascript - 通过GET请求向express server请求数据返回的是document而不是data

标签 javascript jquery node.js express instagram-api

我正在尝试使用 Instagram api 检索一些数据。问题是,当将数据从快速服务器发送回客户端时,客户端不会将数据记录到控制台,而是我只得到一个仅显示一行的 html 文档:

{"urls":["https://scontent.cdninstagram.com/t51.2885-15/s320x320/e35/21042827_129089451063629_713103852630441984_n.jpg"]}

客户端:

$('#retrieve_photos_btn').click(function(){
    $.ajax({
        url: "/retrieve_photos",
        type: "GET",
        success: function(result){
            console.log(result);
        }
    });
});

应用程序.js:

app.get('/retrieve_photos', function(req, res){
    var options = {
        method: 'GET',
        url: 'https://api.instagram.com/v1/users/self/media/recent/?access_token='+access_token
    }
    request(options, function(error, resp, body){
        if(error) console.log("Retrieving photos failed: " + error);
        var body_parsed = JSON.parse(body);

        var media_urls = [];
        // Iterate over all received media
        for(var i = 0; i < body_parsed.data.length; i++){
            media_urls.push(body_parsed.data[i].images.low_resolution.url);
        }
        res.send( JSON.stringify( {urls: media_urls} ) );
    });
});

最佳答案

试试 res.json({urls: media_urls})。这将自动为您设置标题。

代替

res.send( JSON.stringify({urls: media_urls} ) )

关于javascript - 通过GET请求向express server请求数据返回的是document而不是data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45938396/

相关文章:

javascript - onbeforeunload 事件可以通过 $watch 在 angular js 中观看吗?

javascript - .val() 函数正在 trim 特殊字符

javascript - 我在发布 JavaScript CodeIgniter 后没有得到响应

javascript - jquery $.each 与 for 循环(具有异步内容)

node.js - 在 props 中传递 Redux store

javascript - 我如何计算一个位置是否在 3d 立方体内

javascript - 使用 URL 中没有 # 的 anchor 滚动

javascript - JQuery/如何显示每个表格单元格的警报?

jquery - 使用 animate css 作为轮子旋转

node.js - 如何在node-soap中选择wsdl操作