关于网上接口的使用(待更)

本文介绍了如何通过线上接口而非爬虫来获取数据的方法,并提供了一个具体的实现案例,展示了从前端到后端完整的调用流程。
今天根据教程,总算明白了如何使用网上的一些接口。这样就不用爬虫,直接可以使用网上的数据了哈哈哈,前端更进一步

因近期时间不足,先加todo标签以待更。

数据来源有两种:1.一种是线上的接口。2.一种是本地的数据mock||或者本地的数据库。

app.js

app.use(controller.get('/ajax/search',function*(){
    this.set('Cache-Control','no-cache');
    var querystring=require('querystring');
    var params=querystring.parse(this.req._parsedUrl.query);
    // 把参数解析成object
    var start=params.start;
    var end=params.end;
    var keyword=params.keyword;
    this.body=yield service.get_search_data(start,end,keyword);
}));

webAppService.js

exports.get_search_data=function(start,end,keyword){
    return function(callback){
        //object对象转成
        //{a:'1'}(它就是object),后端接受的是http://127.0.0.1/api?a=1
        var data={
            start:start,
            end:end,
            s:keyword
        };
        var content=qs.stringify(data);
        console.log("查询的地址是:"+content);
        var http_request={
            hostname:'dushu.xiaomi.com',
            port:80,
            path:'/store/v0/lib/query/onebox?'+content
        };

        req_obj=http.request(http_request,function(_res){
            var content='';
            _res.setEncoding('utf-8');
            _res.on('data',function(chunk){
                content=content+chunk;
                //拼接所有的数据
            });//返回数据,触发data方法,注意:返回的是一部分数据
            _res.on('end',function(){
                callback(null,content);
            });//end之后所有数据都返回了
        });
        req_obj.on('error',function(){

        });
        req_obj.end();//发送这个请求
    };
};

转载于:https://www.cnblogs.com/can-i-do/p/7074375.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值