详解Nodejs get获取远程服务器接口数据


Posted in NodeJs onMarch 26, 2019

本文实例为大家分享了Nodejs get获取远程服务器接口数据的具体代码,供大家参考,具体内容如下

1.GET模块:_get.js

/**
 * Created by jinx on 7/7/17.
 */
var http = require('http');

module.exports = {
  /**
  * 测试获取所有的区域
  * /
  locations: function (cb) {
    http.get('http://wx.xx.com/locations', function (res) {
      res.setEncoding('utf8');
      var rawData = '';
      res.on('data', function (chunk) {
        rawData += chunk;
      });
      res.on('end', function () {
        try {
          const parsedData = JSON.parse(rawData);
          console.log(parsedData);
          cb(parsedData);
        } catch (e) {
        console.error(e.message);
          cb('error');
        }
      });
    });
  }
}

2.路由端调用:routes.js

var _get = require('../modules/_get');
module.exports = function (app, _dirpath) {
  app.get('/get', function (req, res) {
    _get.locations(function (data) {
      res.writeHead(200, {"Content-Type": "application/json"});
      res.write(JSON.stringify(data));
      res.end();
    });
  });
}

3.服务启动入口:

/**
 * Created by jinx on 7/3/17.
 */
var express = require('express')
  , routes = require('./routes/routes')
  , http = require('http');

var app = express();

app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
/**
 * 静态文件目录
 */
app.use(express.static('public'));
/**
 * 加载路由配置
 */
routes(app,__dirname);
/**
 * 启动服务器
 */
http.createServer(app).listen(app.get('port'), function(){
 console.log("服务器已经启动了" + app.get('port'));
});

4.项目目录如下:

详解Nodejs get获取远程服务器接口数据

5.调用js get.js:

/**
 * Created by jinx on 7/7/17.
 */
var _i;
$(function () {
  _i = layer.open({type: 2});
  $.ajax({
    url: '/get',
    type: 'get',
    dataType: 'json',
    success: function (res) {
      if (res != null)
        layer.close(_i);
      new Vue({
        el: '.main',
        data: {items: res.params}
      });
    }
  })
})

6.调用页面 get.html:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <title>http get</title>
  <link href="https://cdn.bootcss.com/layer/3.0.1/mobile/need/layer.min.css" rel="external nofollow" rel="stylesheet">
  <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" rel="external nofollow" rel="stylesheet">
  <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet">
  <link href="css/style.css" rel="external nofollow" rel="stylesheet">
</head>
<body>
<table class="table main">
  <thead>
  <tr>
    <td>ID</td>
    <td>Name</td>
  </tr>
  </thead>
  <tbody>
  <tr v-for="item in items" >
    <td v-text="item.id"></td>
    <td v-text="item.name"></td>
  </tr>
  </tbody>
</table>
<a href="/" rel="external nofollow" class="btn btn-info width-100">返回首页</a>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdn.bootcss.com/layer/3.0.1/mobile/layer.js"></script>
<script src="https://cdn.bootcss.com/vue/2.3.4/vue.min.js"></script>
<script src="js/get.js"></script>
</body>
</html>

以上所述是小编给大家介绍的Nodejs get获取远程服务器接口数据详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

NodeJs 相关文章推荐
NodeJS的模块写法入门(实例代码)
Mar 07 NodeJs
nodejs获取本机内网和外网ip地址的实现代码
Jun 01 NodeJs
轻松创建nodejs服务器(2):nodejs服务器的构成分析
Dec 18 NodeJs
轻松创建nodejs服务器(3):代码模块化
Dec 18 NodeJs
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
Jan 01 NodeJs
Nodejs如何搭建Web服务器
Mar 28 NodeJs
用nodejs的实现原理和搭建服务器(动态)
Aug 10 NodeJs
Nodejs中解决cluster模块的多进程如何共享数据问题
Nov 10 NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
Sep 18 NodeJs
nodejs操作mongodb的填删改查模块的制作及引入实例
Jan 02 NodeJs
CentOS7中源码编译安装NodeJS的完整步骤
Oct 13 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 NodeJs
nodejs微信开发之自动回复的实现
Mar 17 #NodeJs
nodejs微信开发之接入指南
Mar 17 #NodeJs
nodejs微信开发之授权登录+获取用户信息
Mar 17 #NodeJs
详解nodejs 开发企业微信第三方应用入门教程
Mar 12 #NodeJs
详解NodeJS Https HSM双向认证实现
Mar 12 #NodeJs
NodeJs入门教程之定时器和队列
Mar 08 #NodeJs
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
Mar 02 #NodeJs
You might like
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
PHP微商城开源代码实例
2019/03/27 PHP
PHP 扩展Memcached命令用法实例总结
2020/06/04 PHP
js实现倒计时(距离结束还有)示例代码
2013/07/24 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
2018/02/18 jQuery
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
原生JavaScript实现刮刮乐
2020/09/29 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
轻松理解Python 中的 descriptor
2017/09/15 Python
python如何实现异步调用函数执行
2019/07/08 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
如何使用python传入不确定个数参数
2020/02/18 Python
Python使用进程Process模块管理资源
2020/03/05 Python
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
德国消费电子产品购物网站:Guter Kauf
2020/09/15 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
高中生物教学反思
2014/02/05 职场文书
个人实习生的自我评价
2014/02/16 职场文书
通用自荐信范文
2014/03/14 职场文书
乡镇网格化管理实施方案
2014/03/23 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
婚前协议书标准版
2014/10/19 职场文书
观看焦裕禄观后感
2015/06/09 职场文书