首页 > 网站 > 建站经验 > 正文

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

2019-11-02 14:13:25
字体:
来源:转载
供稿:网友

本文实例为大家分享了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.项目目录如下:

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>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表