No 'Access-Control-Allow-Origin' header is present on the requested resource这个怎么解决啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了No 'Access-Control-Allow-Origin' header is present on the requested resource这个怎么解决啊?相关的知识,希望对你有一定的参考价值。

Origin 'http://localhost:8080' is therefore not allowed access.

解决方法:跨源问题,添加cors。
1.filter或者servlet里面添加response.setHeader("Access-Control-Allow-Origin", "*");
2.response.setHeader("Access-Control-Allow-Origin", "*");放到接收客户端api 的地方
3.如果是servlet的话就放到get或者post方法里面,jsp页面就扔到第一行
4.如果是filter部署就扔到dofilter()
参考技术A 这个是跨区请求的权限问题,单单发这么个错误,不太好定位.但是一般的解决办法就是前端ajax请求里面 添加参数params:"contentType": "application/json;charset=utf-8";
后台处理response.setHeader("Access-Control-Allow-Origin", "*");
参考技术B 你这个是js跨域问题,具体怎么参数的你百度一下多的很。
1、服务端是你做的,你可以在你调用的方法里面第一行加行代码
response.setHeader("Access-Control-Allow-Origin","*");
2、服务端不是你做的,基本实现起来很麻烦,但是有一些其他的途径,就是非常麻烦,可能还无法能解决你的问题
你可以参考一下messenger.js这个js框架,可以跨域调用。
参考技术C 你如果在本地直接打开的文件会这样的,跨域的问题 参考技术D

如果服务端是 JAVA 开发的,添加如下设置允许跨域即可。

response.setHeader("Access-Control-Allow-Origin", "*");

添加位置可以在下面三处任选一个。

1、可以在过滤器 filter 中的 dofilter() 方法设置。

2、可以在 servlet 的 get 或者 post 方法里面设置。

3、可以放在访问的 jsp 页面第一行。

原因分析:这个与安全机制有关,默认情况下是不允许跨域调用的。

使用 H5 开发了一个本地应用,通过 ajax 请求远程服务器(后台是 JAVA )上的数据报错。XMLHttpRequest cannot loahttp://26.47.129.58:8090/MCDEVICE/android/login.action?userInfor.loginCode=an&userInfor.loginPassword=an. 

No 'Access-Control-Allow-Origin' header is present on the requested resource. 

Origin 'http://localhost:8000' is therefore not allowed access.

以上是关于No 'Access-Control-Allow-Origin' header is present on the requested resource这个怎么解决啊?的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins打包报错:(No such file or directory) and 'parent.relativePath' points at no local POM

VS Code报错Module 'xx' has no 'xx' member pylint(no-member)解决办法

VSCODE 报错 Module ‘xx‘ has no ‘xx‘ member pylint(no-member)

VSCODE 报错 Module ‘xx‘ has no ‘xx‘ member pylint(no-member)

Package 'build-essential' has no installation candidate

module 'pip' has no attribute 'main'