Ajax和SpringBoot实现JSON的传输与接收

  • 无论是前后端分离的项目还是不分离的项目,在进行数据交互的时候我们可以将数据封装成XML、JSON等格式进行数据的交互;使用开发项目中最为常见的方式将数据封装成JSON格式传输到后台,前端分别使用axios、Ajax进行JSON 数据的传送,后端使用Spring Boot进行接收,并通过几种常用的注解实现JSON数据的接收。
    • 使用前我们必须要理解什么是JSON对象?什么是JSON字符串?

//首先定义一个JSON对象
    1、使用Javascript的方式定义
    var jsonObj = { name : 'zhangsan',password:'123456'} //这里定义的对象名要和实体中属性名一致,不然后台接收不到
    2、使用vue 定义
    var jsonObj = {name: '',password: ''}
    jsonObj.name = this.name;
    jsonObj.password = this.password;
//定义JSON字符串
    var jsonObj = {"name":"zhangsan","password":123456}    
 //相比已经很明显了,JSON对象的属性名不用打引号,且属性名与实体属性名一致(尽量)
 //了解了JSON对象之后,JavaScript提供了两个方法
 1、JSON.parse() //将一个JSON字符串转换JavaScript对象
 2、JSON.stringify() //将javaScript的值转换成JSON字符串
 //例如console.log(JSON.stringify(jsonObj))  {"name":"zhangsan","password":123456}
  • 使用AJax的传送JSON字符串

//ajax 使用异步刷新的原理,只针对页面子模块请求进行刷新,不影响整个页面,提升了与用户的交互性。
//基本语法
1、Jquery --Ajax
   var jsonObj = {"name":"zhangsan","password":123456};
$.ajax({
    url:"/login",
    method:"POST",
    dataType:"json",
    data:JSON.stringify(jsonObj),
    contentType:"application/json",
    success:function(res){
        //逻辑代码
    },
    error:function(res){
        //逻辑代码
    }
})
  •  使用axios传送JSON对象
var jsonObj = {name:'',password:''}
jsonObj.name = this.name;
jsonObj.password = this.password;
axios({
    url:"/login",
    method:"POST",
    contentType:"aplication/json",
    dataType:"json",
    data:JSON.stringify(jsonObj),  
}).then(res => {
    //逻辑代码
})
  • 后端接收参数
//1、@RequestParam
//2、@RequestBody
@Controller
public class LoginController {
  @PostMapping("/login")
  public void login(@RequestParam("username") String username,
                    @RequestParam("password") String password){
      System.err.println(username);
      System.err.println(password);
  }
  //或者
@Controller
public class LoginController {
  @PostMapping("/login")
  public void login(@RequestBody Map<String,Object> map){
      System.err.println(map.get("username"));
      System.err.println(map.get("password"));
  }  
  //或者
@Controller
public class LoginController {
  @PostMapping("/login")
  public void login(@RequestBody User user){
      System.err.println(user);
}
}

 

参考资源链接:[基于SpringBoot的学生心理咨询评估系统实现与技术栈介绍](https://wenku.csdn.net/doc/1hc8zqb41x?utm_source=wenku_answer2doc_content) 在构建心理咨询评估系统的过程中,采用Ajax技术实现前后端分离的数据交互,不仅可以提升用户体验,还能保证数据传输的安全性。以下是一些实现的要点: 首先,确保后端SpringBoot应用正确配置了跨域资源共享(CORS)。这是因为Ajax请求往往涉及跨域操作,若未正确配置CORS,浏览器将阻止这些请求。在SpringBoot中,可以通过实现WebMvcConfigurer接口,并重写addCorsMappings方法来添加相应的CORS映射。 其次,使用HTTPS协议来加密客户端和服务器之间的通信。这是保障数据传输过程安全性的最基本做法。确保你的Web服务器(如Tomcat、Jetty等)配置了SSL证书,并且前端Vue应用在发起Ajax请求时使用https协议。 再者,为了验证请求的合法性,可以在SpringBoot后端使用Spring Security来处理身份验证和授权。通过过滤器链保护你的应用,并使用拦截器检查Ajax请求中的凭证,如JSON Web Tokens(JWT)。前端Vue应用需要在发送请求前获取JWT,并在请求头中附加这个令牌。 此外,对于敏感数据,应当在数据库中进行加密存储。使用MyBatisPlus作为ORM工具时,可以通过配置字段加密来实现这一点。例如,对于存储个人隐私信息的字段,可以在数据库层面设置加密算法,确保数据即便被未授权访问,也无法被轻易解读。 最后,前端Vue应用在接收数据后,也需要在前端进行适当的数据处理,比如隐藏敏感字段,防止XSS攻击等。 在《基于SpringBoot的学生心理咨询评估系统实现与技术栈介绍》一书中,你将能找到更多关于使用SpringBoot和Vue开发过程中的具体实践和安全策略,以及如何利用MyBatisPlus等工具简化开发流程和提高系统性能的详细内容。 参考资源链接:[基于SpringBoot的学生心理咨询评估系统实现与技术栈介绍](https://wenku.csdn.net/doc/1hc8zqb41x?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值