千家信息网

Java的跨域问题一站式解决

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要讲解了"Java的跨域问题一站式解决",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java的跨域问题一站式解决"吧!(1)js端处理:通常
千家信息网最后更新 2025年01月31日Java的跨域问题一站式解决

这篇文章主要讲解了"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的跨域问题一站式解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0