这篇文章主要讲解了“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。