安装扩展,如 UnXSS 之类
https://chrome.google.com/webstore/detail/unxss/cbjmpjkhiafmdnjnigdbelcnbihgpmge
Test CORS: https://webbrowsertools.com/test-cors/
有其它类型的解决方法吗?
1
添加启动参数--disable-web-security2
安装扩展,如 UnXSS 之类3
原本是A直接请求C的,C不能cors。改为A请求B,由B请求C,B可以cors。可以自行搭建或者使用现成的如 https://cors.zme.ink/ (使用教程)4
详见5楼 @Mutoo 说的 1
randyo 2020-02-18 08:26:29 +08:00 via Android
自己搭建后端代理请求
|
2
devld 2020-02-18 08:27:24 +08:00 via Android
--disable-web-security
|
3
LyleRockkk 2020-02-18 08:32:19 +08:00
前端 我用的是 2L 说的,浏览器快捷方式加后缀, 后端 用 服务器代理请求吧
|
4
mxT52CRuqR6o5 2020-02-18 08:44:46 +08:00 via Android
如果不能控制浏览器,纯前端解决不了跨域问题,必须后端配合
|
5
Mutoo 2020-02-18 08:46:58 +08:00
一般 production 都会在后端解决这个问题。而在 locahost 测试的时候,可以在 webpack devServer 增加 proxy 设置,代理后端的语法,就可以绕过 cors 限制
https://webpack.js.org/configuration/dev-server/#devserverproxy |
6
weixiangzhe 2020-02-18 08:50:00 +08:00 via Android
没法子,浏览器的限制,后端解决
|
7
weixiangzhe 2020-02-18 08:50:50 +08:00 via Android
不碰后端代码的话,可以用 nginx 做反向代理
|
8
guorui112 2020-02-18 08:53:11 +08:00
有个 chrome 插件,叫 cors 啥的
|
9
netnr 2020-02-18 09:08:48 +08:00 1
|
10
Geo200 2020-02-18 09:13:31 +08:00
如果面向开发者,选楼上任意一个方法都可行,如果面向客户,就不要指望前端来解决这个问题了,必须由服务器来解决
|
11
hyy1995 2020-02-18 09:41:38 +08:00
这是在问怎么解决跨域吗…怎么感觉问的怪怪的。单单前端的话解决不了跨域问题,一般你开发页面都会起个本地服务的吧?生产环境用 webpack proxy,开发环境用 nginx 反代,反正都是代理就完事了
|
12
lxk11153 OP |
14
lygmqkl 2020-02-18 10:26:56 +08:00
这个不是应该后端给前端做好的事情吗? CORS 的初衷就是为了控制这些乌七八糟的访问,提高规划性啊,当然如果非法请求另当别论, 生产环境只能到后端来解决,哪怕自己做一个中间层
|
16
npe 2020-02-18 11:11:20 +08:00 via iPhone
二楼
|
17
stevexu 2020-02-18 12:10:12 +08:00
jsonp 也可以
|
18
lxk11153 OP @stevexu #17 不行吧,比如在当前页打开 Console 执行
```js jQuery.ajax({ xhrFields: { withCredentials: true }, url: "https://developer.mozilla.org/api/v1/whoami", dataType: "jsonp" }); ``` |
19
lxk11153 OP update #18 是否 withCredentials 是两种情况;其实我不太明白 jsonp 嘿~
|