1,问题描述
使用 H5 开发了一个本地应用,通过 ajax 请求远程服务器(后台是 JAVA )上的数据时报错。
XMLHttpRequest cannot load http://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.
2,原因分析
这个与安全机制有关,默认情况下是不允许跨域调用的。
3,问题解决
如果服务端是 JAVA 开发的,添加如下设置允许跨域即可。
response.setHeader("Access-Control-Allow-Origin", "*");
添加位置可以在下面三处任选一个。
(1)可以在过滤器 filter 中的 dofilter() 方法设置。
(2)可以在 servlet 的 get 或者 post 方法里面设置。
(3)可以放在访问的 jsp 页面第一行。
时间: 2024-09-25 23:35:19