這篇文章主要講解了“Java的跨域問題一站式解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java的跨域問題一站式解決”吧!
(1)js端處理:通常是以ajax的方式,以下是處理代碼
$.ajax({
type: "GET",
url: 'common/goBD.do',
xhrFields: {withCredentials: true },
crossDomain: true,
success: function(data){
window.open("http://www.baidu.com");
}
});這里主要注意下該代碼:xhrFields: {withCredentials: true },不可缺少;url是訪問服務端地址,成功返回后跳轉百度頁面(新打開tab頁,當然也可以在原有的頁面上打開)。
(2)服務端處理:通過設置response頭部信息的方式,以下是處理代碼
@RequestMapping(value="/goBD")
public void goBD(HttpServletResponse response,HttpServletRequest request) throws IOException{
String msg = "";
String result = "{\"msg\":"+msg+"}";
PrintWriter out = response.getWriter();
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "0");
response.setCharacterEncoding("utf-8");
out = response.getWriter();
out.write(result);
out.flush();
out.close();
}這里只是簡單的處理了下response頭部信息,并沒有加入其他的,若有其他的判斷如登錄時可在js端帶入用戶名、密碼進行判斷處理,通過返回值在前端做出不同的處理。
感謝各位的閱讀,以上就是“Java的跨域問題一站式解決”的內容了,經過本文的學習后,相信大家對Java的跨域問題一站式解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。