Node.js-3
编写接口
1 | // app.js |
1 | // router.js |
CORS跨域
cors是express的一个第三方中间件
1 | const cors = require('cors'); |
CORS由一系列HTTP响应头组成,这些响应头决定浏览器是否阻止前端JS代码跨域获取资源。
响应头:
Access-Control-Allow-Origin: url | *,”*”表示允许所有域名的请求,只写域名则表示只允许该域名的请求。Access-Control-Allow-Headers: xx,默认情况下CORS仅支持9个请求头,若发送了额外的请求头则需要通过该响应头声明,‘xx’表示要声明的请求头。Access-Control-Allow-Methods: 'POST, GET, DELETE, PUT',默认情况下CORS仅支持GET、POST、HEAD请求,若要使用其他方式则需要使用该响应头声明,星号表示所有方法。
请求方式
简单请求::请求方式为GET、POST、HEAD三者之一,并且请求头无自定义头部字段且在默认支持的9个请求头范围内。
预检请求::请求方式为其他请求,或请求头包含自定义头部请求,或向服务器发送了
application/json格式的数据。在浏览器与服务器正式通信前,浏览器会先发送OPTION请求进行预检,以获知服务器是否允许该实际请求。服务器成功响应预检请求后才会发送真正的请求并携带真实数据。
JSONP跨域
JSONP:浏览器通过<script>标签的src属性请求服务器的数据,同时服务器返回函数的调用。
- JSONP不属于Ajax请求,因为没有使用XMLHttpRequest这个对象。
- 仅支持GET方法。
1 | const express = require('express'); |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 MNCLI!
评论








