前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【NodeJS】基于Express框架创建的Node后台中进行网络请求

【NodeJS】基于Express框架创建的Node后台中进行网络请求

作者头像
X北辰北
发布2022-02-21 16:35:44
1.2K0
发布2022-02-21 16:35:44
举报
文章被收录于专栏:ArcGIS JS API开发

此文章是这个系列的第五篇文章,也是最后一篇文章。我们给大家介绍下如何在Node的后台项目中去发送一个Ajax请求,获取其它接口的数据。

写在前面

NodeJS后台主要是用来实现后台数据库的增删改查,但有时候我们也需要在Node后台中进行网络请求,就是说我们自己写的后台接口中要请求另一个其它接口的需求。这种场景其实在解决跨域问题的时候用的比较多,比如有一个第三方的接口,我们请求时出现了跨域问题,这个时候我们可以在自己的前端项目里配置跨域,比如Vue、React中都可以配置跨域访问,我们也可以自己写一个后台,在这个后台中去请求第三方接口,然后我们解决自己写的后台的跨域问题就可以了,第三方的接口我们只是相当于做一下转发而已,所以这个过程中就涉及到Node中进行网络请求,我们接下来看看详细的介绍。

环境要求

  • 安装了NodeJS环境(可以使用npm包管理工具)
  • 初始化了一个NodeJS后台项目demo

操作步骤

1、安装axios,通过以下命令安装,如下:

代码语言:javascript
复制
npm install axios --save-dev

当然,你也可以使用ajax,直接npm方式安装jquery后引用即可。

2、引入axios,然后其他使用方法跟在前端是用一致,代码如下:

代码语言:javascript
复制
var express = require('express');
var axios = require('axios');
var router = express.Router();

router.post('/forward', function(req, res) {
    var queryString = req.body.queryStr;
    axios
    .get('https://www.geoq.cn/geoq.do',{
        params: {
            handler: 'api',
            opt: 'single',
            querystr: queryString
        }
     })
    .then(result => {
        console.log('后台获取成功', result);

        res.send(
            {
                'state': '后台获取成功',
                'data': result.data.result
            }
        );
    })
    .catch((e) => {
        console.log('后台获取错误', e);

        res.send({
            'state': 'error',
            'data': '后台获取错误'
        });
    });
});

module.exports = router;

3、请求成功后的输出信息如下:

同样的,前端也可以拿到返回的值,如下:

总结

本文主要是介绍如何在自己写的后台中去请求一个第三方的网络接口,主要是用来解决跨域问题。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-202,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在前面
  • 环境要求
  • 操作步骤
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档