详解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的前后端分离的思考与实践(一)全栈式开发
Sep 26 NodeJs
Nodejs实现的一个静态服务器实例
Dec 06 NodeJs
详解nodejs 文本操作模块-fs模块(三)
Dec 22 NodeJs
详解Nodejs mongoose
Jun 10 NodeJs
nodejs基础之buffer缓冲区用法分析
Dec 26 NodeJs
纯异步nodejs文件夹(目录)复制功能
Sep 03 NodeJs
5分钟教你用nodeJS手写一个mock数据服务器的方法
Sep 10 NodeJs
详解NodeJs项目 CentOs linux服务器线上部署
Sep 16 NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 NodeJs
NodeJS开发人员常见五个错误理解
Oct 14 NodeJs
nodejs使用Sequelize框架操作数据库的实现
Oct 21 NodeJs
NodeJS配置CORS实现过程详解
Dec 02 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
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
Javascript 垃圾收集机制介绍理解
2013/05/14 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
用js替换除数字与逗号以外的所有字符的代码
2014/06/07 Javascript
jQuery实现二级下拉菜单效果
2016/01/05 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
JavaScript面向对象分层思维全面解析
2016/11/22 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
2019/05/12 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
2019/05/20 Javascript
vue-resource:jsonp请求百度搜索的接口示例
2019/11/09 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
Python笔记之观察者模式
2019/11/20 Python
python线程信号量semaphore使用解析
2019/11/30 Python
Python networkx包的实现
2020/02/14 Python
工程造价自荐信
2013/10/09 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
高级工程师英文求职信
2014/03/19 职场文书
减负增效提质方案
2014/05/23 职场文书
服务标语口号
2014/07/01 职场文书
股东合作协议书
2014/09/12 职场文书
民事诉讼代理委托书
2014/10/08 职场文书
先进个人主要事迹怎么写
2015/11/04 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
Mybatis是这样防止sql注入的
2021/12/06 Java/Android
Go语言读取txt文档的操作方法
2022/01/22 Golang
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL