前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Express简单起一个本地服务接口

Express简单起一个本地服务接口

作者头像
wade
发布2020-04-24 10:23:41
4940
发布2020-04-24 10:23:41
举报
文章被收录于专栏:coding个人笔记coding个人笔记

有时候我们开发过程中,需要一个接口调试,但是又不想很麻烦的要一个后台,就想很快的简单的有一个接口。今天分享使用node的express很简单的起一个服务。当然,express不会扩展,因为本人也不会。

新建一个目录,然后npm init -y,-y是少了询问的步骤;

Npm init express -D 下载express模块;

新建一个server.js;

接下来就是书写代码了:

代码语言:javascript
复制
let express = require('express');
let app =express();
//设置跨域访问
app.all('*', function (req, res, next) {
  res.header('Access-Control-Allow-Origin', 'http://test.test.com:8080');
  res.header('Access-Control-Allow-Credentials', true);
  res.header('Access-Control-Allow-Headers', 'Content-Type,Content-Length, Authorization, Accept,X-Requested-With')
  res.header('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS');
  res.header('Content-Type', 'application/json;charset=utf-8');
  next()
});
let data = {
    name: 'wade',
    age: 18,
};
let api = '/api/user';
app.get(api, (req, res) => {
    res.send(data);
});
//配置服务端口
var server = app.listen(8000, () => {
    console.log( `localhost:8000${api}`);
});

代码很简单,几乎都不需要讲解,然后直接就node server.js,浏览器直接访问localhost:8000/api/user。使用ajax或者是axios直接请求这个地址。

Post的话直接把get改成post就可以了。

这边需要讲解几个跨域的问题。

一般我们允许跨域是这样设置的:

代码语言:javascript
复制
res.header('Access-Control-Allow-Origin', '*');

如果出现报错跨域:XMLHttpRequest is controlled by the withCredentials attribute.

是因为我们请求的时候设置了允许携带cookie,CORS请求默认不发送Cookie和HTTP认证信息。如果要把Cookie发到服务器,要服务器同意,指定Access-Control-Allow-Credentials字段,表示是否允许发送Cookie。

需要注意的是,如果要发送Cookie,Access-Control-Allow-Origin就不能设为星号,必须指定明确的、与请求网页一致的域名。类似这样:

代码语言:javascript
复制
res.header('Access-Control-Allow-Credentials', true);
res.header('Access-Control-Allow-Origin', 'http://test.test.com:8080');

协议、域名、端口都需要。

(完)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 coding个人笔记 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档