1. 程式人生 > >AJAX跨域“Access-Control-Allow-Origin” JAVA WEB個人解決方法

AJAX跨域“Access-Control-Allow-Origin” JAVA WEB個人解決方法

ajax跨域訪問是一個老問題了,解決方法很多,比較常用的是JSONP方法,JSONP方法是一種非官方方法,存在各種問題,大家可以自行百度。

我們專案使用Spring Web MVC,如果你們沒有用Spring Web MVC也不用擔心,因為方法是通用的。

解決方法:通過設定Access-Control-Allow-Origin來實現跨域訪問,需要通過response設定。

Access-Control-Allow-Origin:* 表示允許任何域名跨域訪問,如果需要指定域名,大家自行百度學習,我們的專案是手機客戶端頁面,用不上。

Spring Web MVC下面完整例子

@Controller
@RequestMapping("/LuozhuangMobileControl.do")
public class LuozhuangMobileControl{

/**
	 * 使用者登入
	 * 
	 * @param request
	 * @return
	 */
	@RequestMapping(params = "loginCheck")
	@ResponseBody
	public Object login(HttpServletRequest request, HttpServletResponse response) {
		Object j;
		//這裡處理你的業務
		response.setHeader("content-type", "application:json;charset=utf8");
		response.setHeader("Access-Control-Allow-Origin", "*");
		response.setHeader("Access-Control-Allow-Methods", "POST");
		response.setHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");
		return j;
	}
}

上面是我們專案中使用的方法, 如有更佳方法,歡迎大家斧正。