第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

使用Node.js和Koa框架實(shí)現(xiàn)前后端交互

標(biāo)簽:
Html/CSS JavaScript

koa.png

对于一个前端工程师来说不仅仅要会前端的内容,后端的技术也需要熟练掌握。今天我就要通过一个案例来描述一下前端是如何和后端进行数据交互的。

首先,我们的服务器需要部署好Nodejs的环境,这里我用Nodejs在windows下的本地服务器来做演示。部署NodeJS环境请看我《Windows下快速搭建NodeJS本地服务器》这篇文章。

环境部署好之后我们需要创建一个工程的目录,并且在目录中通过npm来安装Koa框架以及一些用到的依赖库。下图是我完成后的目录结构。

1.png


cd到你的工程目录,然后执行npm koa目录里就会多出node_modules这样一个文件夹,里边存放用到的一些依赖库。


2.png

接下来我们创建一个app.js文件,用来设置访问服务器时用到的路由,代码如下

var koa = require('koa');var controller = require('koa-route');//需要通过npm来添加此依赖var app = koa();var service = require('./service/WebAppService.js');//引用WebAppService.js/*设置路由*/app.use(controller.get('/ajax/search',function*(){    this.set('Cache-Control','no-cache');    this.set('Access-Control-Allow-Origin','*');    var querystring = require('querystring');    var params = querystring.parse(this.req._parsedUrl.query);    var key = params.key;    var start = params.start;    var end = params.end;    this.body = yield service.get_search_data(key,start,end);
}));

app.listen(3001);console.log('Koa server is started');

node_modules文件夹内默认是没有koa-route这个依赖的,需要通过npm koa-route来安装

然后我们需要在service目录下创建一个WebAppService.js文件,用来请求接口,代码如下

var fs = require('fs');
exports.get_search_data = function(key,start,end){    return function(cb){        var http = require('http');        var qs = require('querystring');        var data = {            key:key,            start:start,            end:end
        };        /*请求MobAPI里的火车票查询接口*/
        var content = qs.stringify(data);        var http_request = {            hostname:'apicloud.mob.com',            port:80,            path:'/train/tickets/queryByStationToStation?' + content,            method: 'GET'
        };        var req = http.request(http_request,function(response){            var body = '';
            response.setEncoding('utf-8');
            response.on('data',function(chunk){
                body += chunk;
            });
            response.on('end',function(){
                cb(null,body);
            });
        });

        req.end();
    }
}

这样实际是做了一个接口的转接,我们不仅可以请求本地的接口而且还可以请求第三方接口,避免了跨域请求时浏览器阻断请求。

接下来我们通过命令来开启服务,终端输入node app.js


3.png


然后在浏览器请求接口 http://localhost:3001/ajax/search?key=520520test&start=北京&end=上海


4.png


这样我们就实现了接口请求,并获得json数据,下一章我会将这些从后端获得的数据以一种更加直观的方式呈现在界面上,并运用Vue.js框架制作一个火车票查询系统。

请看《使用Vue.js框架搭建火车票查询系统》


作者:IT青年
链接:https://www.jianshu.com/p/0060d2d9b533


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消