前后端分离 跨域 sessionid保持一致

2024-06-13 16:08

本文主要是介绍前后端分离 跨域 sessionid保持一致,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

          阿里云低价服务器1折特惠,优惠爽翻天,点我立即低价购买

1.前端开发使用的VUE,后端使用的java,前后端分离,解决方法如下:

前端要将withCredentials设为true

以ajax请求为例:

[javascript]  view plain  copy
  1. $.ajax({  
  2.    url: a_cross_domain_url,  
  3.    // 将XHR对象的withCredentials设为true  
  4.    xhrFields: {  
  5.       withCredentials: true  
  6.    }  
  7. });  

vue设置:

后端设置,以java为例,其他语言类似:

[java]  view plain  copy
  1. httpResponse.setHeader("Access-Control-Allow-Credentials""true");  
  2. httpResponse.setHeader("Access-Control-Allow-Origin""http://192.168.199.240:8081");  
  3. 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,前后端分离,解决方法如下:

[html]  view plain  copy
  1. <!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.         <meta charset="utf-8" />  
  5.         <title></title>  
  6.         <script type="text/javascript" src="js/jquery-1.9.0.js" ></script>  
  7.         <script type="text/JavaScript">  
  8.             function denglu(){  
  9.                 alert("进入单击事件");      
  10.                 var username=document.getElementById("adminUser").value;  
  11.                 alert("username:"+username);  
  12.                 var pass=document.getElementById("passWord").value;  
  13.                 alert("password:"+pass);  
  14.                 $.ajax({  
  15.                     contentType:'application/json',  
  16.                     xhrFields: {  
  17.                         withCredentials: true  
  18.                     },  
  19.                     type:"post",  
  20.                     data: JSON.stringify({  
  21.                         adminUser:username,  
  22.                         passWord:pass  
  23.                     }),  
  24.                     url:"http://localhost/api/admin/login/loginAdmin",  
  25.                     success: function(data){  
  26.                         alert(data);  
  27.                         alert("成功");  
  28.                         //window.location.href = 'main.html';  
  29.                     }  
  30.                 });  
  31.             }  
  32.               
  33.             function huoqu(){  
  34.                 alert("进入单击事件");      
  35.                 $.ajax({  
  36.                     xhrFields: {  
  37.                         withCredentials: true  
  38.                     },  
  39.                     type:"get",  
  40.                     date:{},  
  41.                     url:"http://localhost/api/admin/login/getSessionAdmin",  
  42.                     success: function(data){  
  43.                         alert(data);  
  44.                         alert("成功");  
  45.                     }  
  46.                 });  
  47.             }  
  48.         </script>  
  49.     </head>  
  50.     <body>  
  51.             用户名:<input type="text" id="adminUser" name="adminUser"/><br />  
  52.             密码:<input type="text" id="passWord" name="passWord"/><br />  
  53.             <input type="button" id="tj" value="登录" onclick="denglu();"/>  
  54.             <input type="button" onclick="huoqu();" value="查询当前seesion中的管理员"/>  
  55.     </body>  
  56. </html>  

 

 

 

 

 

主要在于get、post提交时参数的问题

get提交

 

post提交

          阿里云低价服务器1折特惠,优惠爽翻天,点我立即低价购买

这篇关于前后端分离 跨域 sessionid保持一致的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057778

相关文章

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo

proxy代理解决vue中跨域问题

vue.config.js module.exports = {...// webpack-dev-server 相关配置devServer: {host: '0.0.0.0',port: port,open: true,proxy: {'/api': {target: `https://vfadmin.insistence.tech/prod-api`,changeOrigin: true,p

请解释Java Web应用中的前后端分离是什么?它有哪些好处?什么是Java Web中的Servlet过滤器?它有什么作用?

请解释Java Web应用中的前后端分离是什么?它有哪些好处? Java Web应用中的前后端分离 在Java Web应用中,前后端分离是一种开发模式,它将传统Web开发中紧密耦合的前端(用户界面)和后端(服务器端逻辑)代码进行分离,使得它们能够独立开发、测试、部署和维护。在这种模式下,前端通常通过HTTP请求与后端进行数据交换,后端则负责业务逻辑处理、数据库交互以及向前端提供RESTful

Nginx反向代理功能及动静分离实现

一:Nginx支持正向代理和反向代理 1.正向代理 正向代理,指的是通过代理服务器 代理浏览器/客户端去重定向请求访问到目标服务器 的一种代理服务。 正向代理服务的特点是代理服务器 代理的对象是浏览器/客户端,也就是对于目标服务器 来说浏览器/客户端是隐藏的。 正向代理是客户端指定让代理去访问哪个服务,代表客户端的利益。 2.反向代理 反向代理,指的是浏览器/客户端并不知道自己要

宝塔部署Vue项目解决跨域问题

一、前言 使用宝塔面板部署前端后端项目相比用命令行进行部署要简单许多,宝塔的可视化操作对那些对Linux不熟悉的人很友好。使用宝塔部署SpringBoot后端项目和Vue前端项目的方法如下: 1、视频教程 2、文字教程1 3、文字教程2 以上的教程完全可以按照步骤一步一步进行部署,但是部署过程中,会遇到很多问题,例如前端的跨域问题,本文在遇到上述问题并解决后,特此记录一下。 二、解决跨域 我

Nginx跨域运行案例:云台控制http请求,通过 http server 代理转发功能,实现跨域运行。(基于大华摄像头WEB无插件开发包)

文章目录 引言I 跨域运行案例开发资源测试/生产环境,Nginx代理转发,实现跨域运行本机开发运行 II nginx的location指令Nginx配置中, 获取自定义请求header头Nginx 配置中,获取URL参数 引言 背景:全景监控 需求:感知站点由于云台相关操作为 http 请求,http 请求受浏览器跨域限制,不能直接访问,因此需要进行 http 的代理,实

尝试用java spring boot+VUE3实现前后端分离部署(8/31)

前言         这几天开学了,公司这边几个和学校对接的项目都挺忙的,然后我又开始有点闲的情况了。问大佬能不能继续看看若依的项目,大佬让我自己去学了。在看若依的项目的时候在想,python的FLASK后端实现和JAVA spring boot的实现差别大不大,两者实现的思路估计大差不差,那具体的代码逻辑和代码实现又有多大差别,java面向对象的编程思想又是怎么体现的。这些想法迫使我将原来使用

《深入理解 C++模板分离编译:挑战与解决方案》

在 C++编程的广阔领域中,模板是一个强大而复杂的特性,它为程序员提供了高度的灵活性和代码复用性。然而,模板的分离编译却常常成为开发者们面临的一个难题。本文将深入探讨 C++中模板的分离编译问题,揭示其背后的原理、挑战以及解决方案。 一、模板的强大之处 C++模板允许程序员编写通用的代码,可以适应不同的数据类型和场景。通过模板,我们可以实现泛型编程,提高代码的可维护性和可扩展性。例如,我们可以