1. 程式人生 > >Java 無法跨域問題(No 'Access-Control-Allow-Origin'..)

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