Java 无法跨域问题(No 'Access-Control-Allow-Origin'..)

转至:http://www.111cn.net/jsp/Java/119383.htm


http://blog.csdn.net/wo541075754/article/details/50696841

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 页面第一行。

你可能感兴趣的:(java)