当前位置: 首页 > 面试题库 >

使用Node.js调用JSON API

公子昂
2023-03-14
问题内容

我正在尝试获取登录到我的应用程序中的用户的Facebook个人资料图片。Facebook的API声明http://graph.facebook.com/517267866/?fields=picture返回正确的URL作为JSON对象。

我想从代码中获取图片的URL。我尝试了以下操作,但这里缺少内容。

 var url = 'http://graph.facebook.com/517267866/?fields=picture';

 http.get(url, function(res) {
      var fbResponse = JSON.parse(res)
      console.log("Got response: " + fbResponse.picture);
    }).on('error', function(e) {
      console.log("Got error: " + e.message);
 });

运行此代码将导致以下结果:

undefined:1

^
SyntaxError: Unexpected token o
    at Object.parse (native)

问题答案:

回调中的res参数http.get()不是正文,而是一个http.ClientResponse对象。您需要组装车身:

var url = 'http://graph.facebook.com/517267866/?fields=picture';

http.get(url, function(res){
    var body = '';

    res.on('data', function(chunk){
        body += chunk;
    });

    res.on('end', function(){
        var fbResponse = JSON.parse(body);
        console.log("Got a response: ", fbResponse.picture);
    });
}).on('error', function(e){
      console.log("Got an error: ", e);
});


 类似资料:
  • 问题内容: 我有一个简化的函数,看起来像这样: 基本上,我希望它调用,并返回在回调lambda中给出的响应。但是,上面的代码不起作用,只是立即返回。 只是出于非常骇人的尝试,我尝试了以下无效的方法,但是至少您了解了我要实现的目标: 基本上,实现此目的的“ node.js /事件驱动”良好方式是什么?我希望我的函数等待,直到调用回调,然后返回传递给它的值。 问题答案: 做到这一点的“良好的node.

  • 问题内容: 我有几个Express应用程序,我发现在某些模块中,该请求是在请求处理程序的末尾(或之后)调用的,而在其他模块中则没有调用。 例如: 要么: 两种情况都可以,但是当我运行许多请求时,我担心泄漏或用完文件描述符之类的事情。哪一个“更正确”? 问题答案: 您的问题的答案是否定的。如果您致电,则不必致电。呼唤你。 来自/lib/response.js,这是函数的结尾:

  • 问题内容: 这类似于Node.js的Stream数据,但是我觉得这个问题没有得到足够的回答。 我正在尝试使用jQuery ajax调用(get,load,getJSON)在页面和node.js服务器之间传输数据。我可以从浏览器中找到该地址,然后看到“ Hello World!”,但是当我从页面尝试此操作时,它失败并显示没有任何响应。我设置了一个简单的测试页面和hello world示例进行测试:

  • 问题内容: 我正在Node.js(+ express 4)上开发一个Web应用程序,用户可以通过将其上载到服务器来设置其个人资料图像。我们已经限制了文件的模仿类型和最大文件大小,因此用户上传的png或jpeg图片不能超过200KB。 问题是我们想将上传的图片分辨率(服务器端)调整为200x200,以改善页面加载并节省磁盘空间。经过研究,所有答案都指向使用任何基于ImageMagick或Graphi

  • 问题内容: 我正在使用c ++为node.js编写附加组件。 这里有一些片段: 我需要将一个JavaScript函数另存为回调,以便稍后调用。Client类是另一个对象的观察者,应从onAsyncMethodEnds调用javascript回调。不幸的是,当我调用函数“ BeInitiator”时,在回调Call()之前收到“ Bus error:10”错误 感谢建议 问题答案: 您不能从另一个线

  • 问题内容: 我们发生内存泄漏,这导致节点服务器的进程内存不足。有什么建议/工具可以帮助我们进行调试? 问题答案: 您是否正在运行最新最好的node.js v0.3.8? 但我相信您可以使用https://github.com/dannycoates/node- inspector 检测泄漏。