nodejs获取服务器数据到页面

const Koa = require(‘koa‘);
const Router = require(‘koa-router‘);
const app = new Koa();
const router = new Router();
const views = require(‘koa-views‘);
const json = require(‘koa-json‘);
const onerror = require(‘koa-onerror‘);
const bodyparser = require(‘koa-bodyparser‘);
const path = require(‘path‘);
const logger = require(‘koa-logger‘);

const request = require(‘request‘);

// error handler
onerror(app)

// middlewares
app.use(bodyparser())
    .use(json())
    .use(logger())
    .use(require(‘koa-static‘)(__dirname + ‘/public‘))
    .use(views(path.join(__dirname, ‘/views‘), {
        options: { settings: { views: path.join(__dirname, ‘views‘) } },
        map: { ‘html‘: ‘nunjucks‘ },
        extension: ‘html‘
    }))
    .use(router.routes())
    .use(router.allowedMethods())

// x-response-time

app.use(async function(ctx, next) {
    const start = new Date();
    await next();
    const ms = new Date() - start;
    ctx.set(‘X-Response-Time‘, `${ms}ms`);
});

// logger

app.use(async function(ctx, next) {
    const start = new Date();
    await next();
    const ms = new Date() - start;
    console.log(`${ctx.method} ${ctx.url} - ${ms}`);
});

app.on(‘error‘, (err, ctx) =>
    log.error(‘server error‘, err, ctx)
);

router.get(‘/‘, async(ctx, next) => {

    var bd = "bd";
    // 从服务器获取数据

   bd = await getData();
    ctx.state = {
        title: ‘Koa2‘,
        name: bd
     }
    // 发送到页面
     return  await ctx.render(‘index‘, ctx.state)

})
//获取服务器数据
async function  getData(){
    return new Promise((resolve,reject)=>{
        request("https://www.baidu.com",(error,response,body)=>{
            if(error){
                reject("error")
            }else{
                resolve("thank you");//body
            }
        })
    })
}

router.get(‘/b‘, async(ctx, next) => {
    ctx.state = {
        title: ‘Koa2‘,
        name: ‘小明-list‘
    }
    await ctx.render(‘b‘, ctx.state)
})

app.listen(3000);
console.log(‘listen http://localhost:3000‘);
时间: 2024-12-29 07:34:06

nodejs获取服务器数据到页面的相关文章

跨域获取服务器数据方式

学习AJAX跨域获取数据碰到这个问题,特此记录. 理解跨域首先必须要了解同源策略.同源策略是浏览器上为安全性考虑实施的非常重要的安全策略. 同源是什么?URL由协议.域名.端口和路径组成,如果两个URL的协议.域名和端口相同,则表示他们同源. 为什么需要同源? 假设从一个恶意网站打开支付宝或其他重要的页面(通过window.open),如果没有同源限制,恶意网页上的javascript脚本就可以任意操作你打开的支付宝等网页,这是极其危险的. 由于同源策略的限制,XmlHttpRequest只允许

2017.12.07 Ajax获取服务器数据并发送到前端

1.前端:在React渲染页面之前就加载服务器数据: componentWillMount() { console.log("aaaaaaaa"); var data2={ action:"queryTaskOfManager" }; Common.getData(JSON.stringify(data2),function (ret) { alert(ret); }); } 2.前端调用这个React生命周期函数: 3.ajax文件封装成组件后,导出: 4.Aja

关于springmvc的获取前段数据和页面输出

项目的创建在这里就不写啦,如果实在不会,看看前面的,这里就直接上代码啦! 首先,是创建一个jsp文件,功能实现简单的登录功能,没什么重要的.. 这个就是简单的前段界面,这里需要注意的一点就是action="login",这里的login是一个虚拟路径, 也就是获取前端数据action的虚拟路径,要前后一致: 下面的就是获取前段数据以及验证的一种方式,这一中是比较简单的 就是在入参处获取request的对象:从而达到下面的操作 @Controllerpublic class LoginC

十一、React 获取服务器数据: axios插件、 fetch-jsonp插件的使用

react获取服务器APi接口的数据: react中没有提供专门的请求数据的模块.但是我们可以使用任何第三方请求数据模块实现请求数据 一.axios 获取Api数据 使用文档:https://www.npmjs.com/package/axios git项目地址:https://github.com/axios/axios axios的作者觉得jsonp不太友好,推荐用CORS方式更为干净(后端运行跨域) npm官网:https://www.npmjs.com,在其搜索:axios即可看到详细说

android 简单获取服务器数据

1.activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

智能机器人“小昆”的实现(二)获取服务器数据工具类的编写及测试

没有取得图灵机器人认证的朋友可以看上一篇,点击下面的地址即可: http://www.cnblogs.com/fuly550871915/p/4852148.html 已经取得认证的朋友,可以继续往下做了.下面就开始我们的实际代码编写.在这篇文章中,我们要实现通过调用图灵机器人API获取返回的数据的功能.而且搭建相应的测试环境,看看我们这个功能实现的到底正确不正确. 一.获得服务器返回数据的工具类的实现 主要是android中的简单的网络编程知识的运用.代码如下: 1 package com.f

Nodejs获取网络数据并生成Excel表格

Nodejs的模版中有很多关于Excel表格的,这里我简单介绍一下我使用过的一个模块的使用. 首先,先安装Excel的模块: npm install node-xlsx 然后,在代码中引入模块: var xlsx = require('node-xlsx'); 最后,获取数据并写入Excel: var fs = require('fs'); var xlsx = require('node-xlsx'); var ajax = require('./ajax.js'); start(); fun

Reactjs之Axios、fetch-jsonp获取后台数据

1.新增知识点 /** Axios获取服务器数据(无法跨域,只能让后台跨域获取数据) react获取服务器APi接口的数据: react中没有提供专门的请求数据的模块.但是我们可以使用任何第三方请求数据模块实现请求数据 axios介绍: https://github.com/axios/axios axios的作者觉得jsonp不太友好,推荐用CORS方式更为干净(后端运行跨域) 1.安装axios模块npm install axios --save / npm install axios --

NodeJS获取GET和POST请求

使用NodeJS获取GET请求,主要是通过使用NodeJS内置的querystring库处理req.url中的查询字符串来进行. 通过?将req.url分解成为一个包含path和query字符串的数组 通过querystring.parse()方法,对格式为key1=value1&key2=value2的查询字符串进行解析,并将其转换成为标准的JS对象 const http = require('http') const querystring = require('querystring')