Eggjs 设置跨域请求 指定地址跨域 nodejs
首先egg自身框架没有直接设置允许跨域请求的功能和接口,所以需要第三方包来设置跨域请求!
- 先安装第三方包来设置跨域,使用egg-cors
// npm
npm i egg-cors --save
// cnpm
cnpm i egg-cors --save
// yarn
yarn add egg-cors
- 设置egg框架plugin.js文件 目录 ${root}/config/plugin.js
module.exports = {
...
//跨域插件
cors: {
enable: true,
package: 'egg-cors',
},
};
- 设置egg框架config.default.js 目录${root}/config/config.default.js
...
config.security = {
csrf: {
enable: false,
},
domainWhiteList: [ '*' ],
};
config.cors = {
origin: ctx => ctx.get('origin'), //这种方式是允许所有的IP+端口跨域访问
credentials: true, // 开启认证
allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS', //允许请求的方式
};
- 若想指定某个地址允许跨域访问则需要单独设置origin即可
origin: 'http://localhost:3001'
这样你本地的Vue,React 项目就可以请求Egg框架的api了。
import axios from "axios";
const BASEURL = process.env.NODE_ENV === "development" ? "http://127.0.0.1:7001/" : "http://127.0.0.1:7001/" //后端地址
const config = { // `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。
// 它可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL
baseURL: BASEURL, // `headers` 是即将被发送的自定义请求头
headers: { 'X-Requested-With': 'XMLHttpRequest' }, // `timeout` 指定请求超时的毫秒数(0 表示无超时时间)
// 如果请求话费了超过 `timeout` 的时间,请求将被中断
timeout: 60 * 1000, // `withCredentials` 表示跨域请求时是否需要使用凭证
withCredentials: true, // default
} const myAjax = axios.create(config)
export default myAjax
Eggjs 设置跨域请求 指定地址跨域 nodejs的更多相关文章
- web api 跨域请求,ajax跨域调用webapi
1.跨域问题仅仅发生在Javascript发起AJAX调用,或者Silverlight发起服务调用时,其根本原因是因为浏览器对于这两种请求,所给予的权限是较低的,通常只允许调用本域中的资源,除非目标服 ...
- 【JS跨域请求】Ajax跨域请求JSONP
前两天被问到ajax跨域如何解决,还真被问住了,光知道有个什么jsonp,迷迷糊糊的没有说上来.抱着有问题必须解决的态度,我看了许多资料,原来如此... 为何一直知道jsonp,但一直迷迷糊糊的不明白 ...
- .net cookie跨域请求指定请求域名
HttpCookie cookie = new HttpCookie("OrderApiCookie"); //初使化并设置Cookie的名称 cookie.HttpOnly = ...
- ssm框架如果想要跨域请求,cors跨域
<!-- 跨域 --> <mvc:cors> <mvc:mapping path="/**"/> </mvc:cors> 在spri ...
- Python-flask跨站请求伪造和跨站请求保护的实现
图中 Browse 是浏览器,WebServerA 是受信任网站/被攻击网站 A,WebServerB 是恶意网站/点击网站 B. (1) 一开始用户打开浏览器,访问受信任网站 A,输入用户名和密码登 ...
- springboot跨域请求设置
当它请求的一个资源是从一个与它本身提供的第一个资源的不同的域名时,一个资源会发起一个跨域HTTP请求(Cross-site HTTP request).比如说,域名A ( http://domaina ...
- jQuery jsonp跨域请求
跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的. 浏览器的同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互. 如果协议,端口和主机对于两个页面是相同的,则两个页面具 ...
- Django跨域请求之JSONP和CORS
现在来新建一个Django项目server01,url配置为 url(r'^getData.html$',views.get_data) 其对应的视图函数为get_data: from django. ...
- Jquery 跨域请求JSON数据问题
制作网站时,我们有时候为了方便快捷会调用别人写好的API接口,或者是调用一些免费的API接口获得JSON数据.比如天气,农历,网站备案信息查询等. 但是,这些API接口都是别人自己服务器上的,我们要调 ...
- 使用@CrossOrigin实现跨域请求
1.毕设使用的是react+java开发的网上书城,大家都知道react主要是视图(表现层或页面),数据的处理还是通过java来实现的,所以我的毕设相当于是两个项目组成的,一个是前端项目,一个是后台项 ...
随机推荐
- 程序员天天 CURD,怎么才能成长,职业发展的思考(3)
公司赚钱流程中,你在哪一个环节 思考你在哪一个环节 在一家提供互联网产品或服务的公司中,开发出产品或提供服务,卖产品卖服务给客户,赚取金钱获得利润,有了利润这家公司就能给员工发工资,公司才能存活下去, ...
- 为WPF框架Prism注册Nlog日志服务
这篇文章介绍了为WPF框架Prism注册Nlog日志服务的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 无论是Nlog还是Serilog, 它们都提供 ...
- k8s中的pod更新策略
StatefulSet(有状态集,缩写为sts)常用于部署有状态的且需要有序启动的应用程序,比如在进行SpringCloud项目容器化时,Eureka的部署是比较适合用StatefulSet部署方式的 ...
- iOS手工Crash解析
一.测试导出来一份ips crash文件,现在需要进行手工解析 现在需要下载对应的dsym文件,为了确定下载好的dsym文件和crash log是不是一致的,可以先看下dsym文件中的uuid p.p ...
- WNS 后台Push服务调试脚本
一.API说明 https://cloud.tencent.com/document/product/276/3212 二.推送脚本 #!/usr/local/bin/python3 # -*- ...
- 面试题一《swift和oc的区别》
一.来源 这道题来自网上一篇文章<100家公司iOS面试题管理>,这份题目虽然题目质量不高,但是覆盖面比较全,有学习的价值 二.解析 1.swift 比 OC更年轻,这意味着 swift ...
- 音视频积累-Wakeups 解决
一.现象 ReplayKit2运行过程中经常会被系统杀掉,在USB连接手机后可以导出crash log Date/Time: 2017-09-29 12:16:59.321071 +0800 OS V ...
- Python保姆级教程 数据类型—新手小白入门必看系列
推荐使用压缩软件和杀毒软件 7 - zip 使用火绒 一.基本数据类型与变量(上) 2.1 注释 优点: 代码说明 没注释的代码 有注释的代码 不让解释器执行注释的那句话 2.2 单行注释 单行注释快 ...
- NOIP模拟96
T1 树上排列 解题思路 是一个一眼切的题目... 看到题目第一眼就是 Deepinc 学长讲的可重集,无序 Hash . 直接套上一颗线段树再加上树剖, \(nlog^2n\) 直接过,好像也可以树 ...
- 探索Semantic Plugins:开启大模型的技能之门
前言 在之前的章节中我们或多或少的已经接触到了 Semantic Kernel 的 Plugins,本章我们讲详细介绍如何使用插件. Semantic Kernel 的一大特点是拥有强大的插件,通过结 ...