本文主要是介绍前后端分离 跨域 sessionid保持一致,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
阿里云低价服务器1折特惠,优惠爽翻天,点我立即低价购买
1.前端开发使用的VUE,后端使用的java,前后端分离,解决方法如下:
前端要将withCredentials设为true
以ajax请求为例:
- $.ajax({
- url: a_cross_domain_url,
- // 将XHR对象的withCredentials设为true
- xhrFields: {
- withCredentials: true
- }
- });
vue设置:
后端设置,以java为例,其他语言类似:
- httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
- httpResponse.setHeader("Access-Control-Allow-Origin", "http://192.168.199.240:8081");
- httpResponse.setHeader("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
Access-Control-Allow-Credentials 设为true的话,Access-Control-Allow-Origin就不能设为*了,只好改成具体的域了,这样就可以多次请求取到的sessionid就一致了。
前端开发使用的jquery,后端使用的java,前后端分离,解决方法如下:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title></title>
- <script type="text/javascript" src="js/jquery-1.9.0.js" ></script>
- <script type="text/JavaScript">
- function denglu(){
- alert("进入单击事件");
- var username=document.getElementById("adminUser").value;
- alert("username:"+username);
- var pass=document.getElementById("passWord").value;
- alert("password:"+pass);
- $.ajax({
- contentType:'application/json',
- xhrFields: {
- withCredentials: true
- },
- type:"post",
- data: JSON.stringify({
- adminUser:username,
- passWord:pass
- }),
- url:"http://localhost/api/admin/login/loginAdmin",
- success: function(data){
- alert(data);
- alert("成功");
- //window.location.href = 'main.html';
- }
- });
- }
- function huoqu(){
- alert("进入单击事件");
- $.ajax({
- xhrFields: {
- withCredentials: true
- },
- type:"get",
- date:{},
- url:"http://localhost/api/admin/login/getSessionAdmin",
- success: function(data){
- alert(data);
- alert("成功");
- }
- });
- }
- </script>
- </head>
- <body>
- 用户名:<input type="text" id="adminUser" name="adminUser"/><br />
- 密码:<input type="text" id="passWord" name="passWord"/><br />
- <input type="button" id="tj" value="登录" onclick="denglu();"/>
- <input type="button" onclick="huoqu();" value="查询当前seesion中的管理员"/>
- </body>
- </html>
主要在于get、post提交时参数的问题
get提交
post提交
阿里云低价服务器1折特惠,优惠爽翻天,点我立即低价购买
这篇关于前后端分离 跨域 sessionid保持一致的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!