AJAX跨域“Access-Control-Allow-Origin” JAVA WEB個人解決方法
阿新 • • 發佈:2019-01-06
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; } }
上面是我們專案中使用的方法, 如有更佳方法,歡迎大家斧正。