node搭建本地服务器后端解决跨域问题

第一种方法:

// 通过跨域里面的cors跨域
// 跨域中间件
app.use(function (req, res, next) {
// 设置cors跨域
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ‘ 3.2.1‘)
res.header("Content-Type", "application/json;charset=utf-8");
next();
})

(1)Access-Control-Allow-Origin
该字段是必须的。它的值要么是请求时Origin字段的值,要么是一个*,表示接受任意域名的请求。

(2)Access-Control-Request-Method
该字段是必须的,用来列出浏览器的CORS请求会用到哪些HTTP方法。

(3)Access-Control-Expose-Headers
该字段可选。CORS请求时,XMLHttpRequest对象的getResponseHeader()方法只能拿到6个基本字段:Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma。如果想拿到其他字段,就必须在Access-Control-Expose-Headers里面指定。上面的例子指定,getResponseHeader(‘FooBar‘)可以返回FooBar字段的值。

第二种方法

npm里的cors模块 使用这个模块可以实现跨域功能

在express项目下面
执行npm install cors
然后在app.js里面
var cors = require(‘cors‘);
app.use(cors());

更多内容请查看

https://github.com/TroyGoode/node-cors

时间: 2024-07-30 23:55:42

node搭建本地服务器后端解决跨域问题的相关文章

express搭建后端请求路由,前端进行访问对应的接口 后端解决跨域

代码在 ==>E:\nodes实战\myserve\testserve 1 express搭建后端请求路由,前端进行访问对应的接口 1) 创建项目目录 express 项目名 -e 然后按照提示就可以了 cd 项目名 2) 进入项目 下载依赖 cnpm i 在下载过程中出现 New minor version of npm available! 6.11.2 -> 6.13.1 Changelog: https://github.com/npm/cli/releases/tag/v6.13.1

后端解决跨域的问题

<!--配置允许跨域访问--> <filter> <filter-name>CorsFilter</filter-name> <filter-class>org.apache.catalina.filters.CorsFilter</filter-class> </filter> <filter-mapping> <filter-name>CorsFilter</filter-name>

java后端解决跨域问题

新建一个filter public class SimpleCORSFilter implements Filter{ @Override public void destroy() { } @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse resp

解决跨域问题以及Django中POST传递参数错误

一.跨域 在进行前后端开发的时候需要涉及到跨域的问题,跨域既可以在前端解决也可以在后端解决.前段解决的思路就是转换路径,将发出的请求的url地址转换成可以映射成的地址.后端的解决思路是将获取的地址转换成可以映射的地址. 1. 模型 1.1 前端跨域解决的模型 由于路由router的不同,因此在跨域请求的时候通过更换请求源为origin再对后端进行请求 1.2 后端跨域解决的模型 后端通过可接收的url来进行相同path的处理,揭示了前后端分析的关键点以及跨域解决的本质,即对相同的path进行不同

Ajax 调用webservice 解决跨域请求和发布到服务器后本地调用成功外网失败的问题

    webservice 代码 1 /// <summary> 2 /// MESService 的摘要说明 3 /// </summary> 4 [WebService(Namespace = "http://tempuri.org/")] 5 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 6 //[System.ComponentModel.ToolboxItem(false)

springboot shiro 前后端分离,解决跨域、过虑options请求、shiro管理session问题、模拟跨域请求

一.解决跨域.过虑options请求问题 1.创建过虑类 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; im

vue前后端分离解决跨域问题

用Vue-cli脚手架搭建了个demo,前后分离就有跨域问题的出现. vue-clie搭建demo步骤(传送门):https://www.cnblogs.com/wangenbo/p/8487764.html 我自己在网上找了2个接口做测试: CSDN:https://www.csdn.net/api/articles?type=more&category=home&shown_offset=1524276761019196&first_view=false 掘金:https://

前后端分离,解决跨域问题及django的csrf跨站请求保护

1. 前后端分离解决跨域问题 解决跨域调用服务并设置headers 主要的解决方法需要通过服务器端设置响应头.正确响应options请求,正确设置 JavaScript端需要设置的headers信息 方能实现: 关于跨域,前端会先发送OPTIONS请求,进行预检,检查后端是否允许前端设置的相应的请求头,请求内容 function getCookie(name) { var cookieValue = null; if (document.cookie && document.cookie

flask后端+ajax前端,解决跨域资源引起CORB问题

在 Javascript 中跨域访问是比较常见的事情,这次记录使用flask写后端API,前端ajax调用时产生的跨域问题. 问题描述:跨域资源引起CORB. 解决方案: jsonp解决跨域问题 前端代码: // 回掉函数,默认callback=jQuery30004159376653216822_1550582355513 function showData(data) { console.info("Get Into showData"); // json对象转成字符串 var r