【问题标题】:Getting error while calling webservice using node.js?使用 node.js 调用 web 服务时出错?
【发布时间】:2013-12-13 15:36:42
【问题描述】:

你能告诉我如何调用 json webservice 并获得输出吗?我需要一些步骤来完成这项任务。 我刚开始使用 node.js。 我使用命令 promt 创建一个 js 文件并运行该文件

var request = require("request");
request.get("http://ergast.com/api/f1/current/last/results.json", function (err, res, body) {
    if (!err) {
        var resultsObj = JSON.parse(body);
        //Just an example of how to access properties:
        console.log(resultsObj.MRData);
    }
});


   Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\nksharma.Q3TECH>cd..

C:\Documents and Settings>cd..

C:\>cd node

C:\node>npm install request
npm http GET https://registry.npmjs.org/request
npm http 304 https://registry.npmjs.org/request
npm http GET https://registry.npmjs.org/json-stringify-safe
npm http GET https://registry.npmjs.org/qs
npm http GET https://registry.npmjs.org/forever-agent
npm http GET https://registry.npmjs.org/node-uuid
npm http GET https://registry.npmjs.org/tough-cookie
npm http GET https://registry.npmjs.org/form-data
npm http GET https://registry.npmjs.org/oauth-sign
npm http GET https://registry.npmjs.org/http-signature
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/tunnel-agent
npm http GET https://registry.npmjs.org/hawk
npm http GET https://registry.npmjs.org/aws-sign2
npm http 304 https://registry.npmjs.org/forever-agent
npm http 304 https://registry.npmjs.org/node-uuid
npm http 304 https://registry.npmjs.org/tough-cookie
npm http 304 https://registry.npmjs.org/form-data
npm http 304 https://registry.npmjs.org/oauth-sign
npm http 304 https://registry.npmjs.org/http-signature
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/tunnel-agent
npm http 304 https://registry.npmjs.org/hawk
npm http 304 https://registry.npmjs.org/aws-sign2
npm http 304 https://registry.npmjs.org/json-stringify-safe
npm http 304 https://registry.npmjs.org/qs
npm http GET https://registry.npmjs.org/combined-stream
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/asn1/0.1.11
npm http GET https://registry.npmjs.org/assert-plus/0.1.2
npm http GET https://registry.npmjs.org/ctype/0.5.2
npm http GET https://registry.npmjs.org/punycode
npm http GET https://registry.npmjs.org/sntp
npm http GET https://registry.npmjs.org/boom
npm http GET https://registry.npmjs.org/cryptiles
npm http GET https://registry.npmjs.org/hoek
npm http 304 https://registry.npmjs.org/async
npm http 304 https://registry.npmjs.org/asn1/0.1.11
npm http 304 https://registry.npmjs.org/ctype/0.5.2
npm http 304 https://registry.npmjs.org/assert-plus/0.1.2
npm http 304 https://registry.npmjs.org/punycode
npm http 304 https://registry.npmjs.org/sntp
npm http 304 https://registry.npmjs.org/boom
npm http 304 https://registry.npmjs.org/cryptiles
npm http 304 https://registry.npmjs.org/hoek
npm http 304 https://registry.npmjs.org/combined-stream
npm http GET https://registry.npmjs.org/delayed-stream/0.0.5
npm http 304 https://registry.npmjs.org/delayed-stream/0.0.5
request@2.29.0 node_modules\request
├── forever-agent@0.5.0
├── aws-sign2@0.5.0
├── json-stringify-safe@5.0.0
├── tunnel-agent@0.3.0
├── oauth-sign@0.3.0
├── qs@0.6.6
├── mime@1.2.11
├── node-uuid@1.4.1
├── tough-cookie@0.9.15 (punycode@1.2.3)
├── hawk@1.0.0 (cryptiles@0.2.2, sntp@0.2.4, boom@0.4.2, hoek@0.9.1)
├── http-signature@0.10.0 (assert-plus@0.1.2, asn1@0.1.11, ctype@0.5.2)
└── form-data@0.1.2 (async@0.2.9, combined-stream@0.0.4)

C:\node>node b.js
{ xmlns: 'http://ergast.com/mrd/1.2',
  series: 'f1',
  url: 'http://ergast.com/api/f1/current/last/results.json',
  limit: '30',
  offset: '0',
  total: '22',
  RaceTable: { season: '2013', round: '19', Races: [ [Object] ] } }

C:\node>

【问题讨论】:

    标签: jquery node.js


    【解决方案1】:

    我猜你没有安装请求模块,但你正在尝试使用它。导航到控制台中的项目文件夹并安装请求模块:

    npm install request
    

    然后再试一次,找不到模块错误应该消失了。

    【讨论】:

    • 我仍然面临一个没有得到结果的问题
    • 我觉得不错。您看到的是您使用 console.log(resultsObj.MRData) 记录的结果对象。 ;)
    • 如何从中获得价值
    • @user2648752 又是你!您真的希望您的无聊程序员大军帮助您完成每一个微小的步骤吗?来吧,伙计。学习一些东西,而不是向所有人寻求帮助。
    猜你喜欢
    • 2012-07-13
    • 2013-09-09
    • 2015-12-29
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多