ajax与后端互相传值与处理(各种类型)

article/2025/10/16 6:20:16

ajax与后端互相传值与处理(各种类型)

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • ajax与后端互相传值与处理(各种类型)
  • 前言
  • 一、ajax的基本操作(入门)
    • 前端
    • 后端(java)
    • 结果
  • 二、jquery版的ajax(用jquery来写ajax,在以后传递跟复杂的参数时,更方便),这里展示最常用的写法
    • json
  • 传入参数(一个)
  • 传入一个对象
    • 后端接收
    • 结果
  • 传入一个对象集合
  • 一个数组或集合再加一个参数


前言

提示:这里可以添加本文要记录的大概内容:
ajax 全名为 async javascript and XML
是前后台交互数据的重要工具
它可以局部刷新页面而不需要刷新整个页面
那么怎么实现ajax与后台之间的数据传输以及得到数据后怎样处理尤为重要
提示:以下是本篇文章正文内容,下面案例可供参考

一、ajax的基本操作(入门)

前端

点击 按钮执行loadDoc()函数

 <button type="button" onclick="loadDoc()">更改文本</button>

这是 loadDoc()函数

function loadDoc() {var xhttp = new XMLHttpRequest();//创建XMLHttpRequest对象,即创建一个异步调用对象.xhttp.send("GET", "url", true);//创建一个新的HTTP请求.//参数含义依次为 请求方式,请求地址, true/false(同步异步),用户名称(可写),密码(可写) xhttp.open();//将请求发送到服务器用于GET请求xhttp.onreadystatechange = function() {//当readyState属性发生变化时被调用的函数if (this.readyState == 4 && this.status == 200) {//status:返回请求的状态号 200为"ok"//readyState:保存XMLHttpRequest的状态。 4为请求已完成且响应已就绪var s= xhttp.responseText()//得到后端返回的字符串alert(s);}};
} 

后端(java)

 @RequestMapping("/url")//这里的url 要与上面的保持一致@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setContentType("text/json;charset=UTF-8);//中文resp.getWriter().write("请求成功");//发送 字符串给前端}

结果

在这里插入图片描述
这是ajax入门基本操作,即ajax用来进行前后端交互

二、jquery版的ajax(用jquery来写ajax,在以后传递跟复杂的参数时,更方便),这里展示最常用的写法

$.ajax({//与js类似,type: "POST",//请求类型dataType: "text",//可写为json 之后会写到url: "url",//请求地址data: ""//需发送到服务器的数据success: function(data){alert(date);//成功相应执行的函数},error: function(msg){alert(msg);//失败}});

json

JSON,全称是 JavaScript Object Notation,译为JavaScript对象标记法。
通俗的来讲json可以在字符串与对象之间相互转换,方便了前后端数据交互转化与使用.


传入参数(一个)

传入一个参数相对简单
这是js的ajax

  xhttp.open("GET","http://localhost:8080/s1?id=1",true);//只是//在后面加了  ?id=1

jq的ajax

   data: {id: 1},//在data后面加,其余不变(也可以像js一样直接在url上加)

传入一个对象

这个时候再使用原生js就很难实现了
我们使用jq
比如我们要把user的四个属性传入后端

 var s=  {"name":"张三","sex":"男","id":1,"money":1};//这是我们要传的值这是ajax的几个参数type: "POST",url: "url",data: JSON.stringify(s),//将s转为json格式dateType: "json",表示从后端接收的时json格式async: false,contentType: "application/json;charset=utf-8",//表示传到后端的时json格式,并且支持中文

后端接收

@RequestMapping(method = {RequestMethod.POST}, value = "/s3", produces = "application/json;charset=UTF-8")@ResponseBody//可以用RequestBody 将user封装public String toPay1(@RequestBody User users) {System.out.println(users);return "okk";}

结果

在这里插入图片描述

传入一个对象集合

与上边同理,只不过要先把每一个json放入一个数组中,再将数组json化即可
前端

 var s=  {"name":"张三","sex":"男","id":1,"money":1};var s1=  {"name":"李四","sex":"女","id":2,"money":3};var a=new Array();a.push(s);a.push(s1);var json=JSON.stringify(a);$.ajax({type: "POST",url: "http://localhost:8080/s3",data: json,dateType: "json",async: false,contentType: "application/json;charset=utf-8",

后端只需要把接收的类型改为对象集合即可

@RequestBody List<User> users

结果
在这里插入图片描述

一个数组或集合再加一个参数

我是这样做的
前端
同时传入json,并在url加参数

   url: "http://localhost:8080/s3?id=1",data: json,

后端接受

@RequestBody List<User> users,String id

结果
在这里插入图片描述

提示:这里对文章进行总结:


http://chatgpt.dhexx.cn/article/isCb54Dl.shtml

相关文章

Ajax传值 简述方法(前后端传值)

Ajax传值的过程 提示&#xff1a;我是个小白&#xff0c;写博客只是为了保存自己总结的东西&#xff0c;若有错误请指正&#xff0c;共同学习&#xff01;&#xff01;感谢&#xff01;&#xff01;&#xff01; 文章目录 前言一、使用前提1. 必须要先在前端引入jQuery。2.Ajax…

js中如何判断{},[]

2019独角兽企业重金招聘Python工程师标准>>> 所以这个时候需要如下处理 if((Array.isArray(变量) && 变量.length 0) || (Object.prototype.isPrototypeOf(变量) && Object.keys(变量).length 0)){ alert(该方法判断了{}花括号这…

JS判断大全

JS判断大全 1:js 字符串长度限制、判断字符长度、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入数字,判断数字、验证数字、检测数字、判断是否为数字、只能输入数字 5:只能输入英…

js判断一个字符串是以某个字符串开头

方法1--substr() 方法 substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。 if("123".substr(0, 2) "12"){console.log(true); } 方法2--substring() 方法 substring() 方法用于提取字符串中介于两个指定下标之间的字符。 if("12…

Js判断数组中是否有某值

// 判断数组中是否有某个元素 arr1 [1,2,3,4]; 1、 array.indexOf方法 返回要查询值的数组下标 没有则返回-1 console.log(arr1.indexOf(2)) 2、 array.find() 查找出符合条件的第一个元素&#xff0c;并返回值&#xff0c;没有则返回undefind var a arr1.find((value,in…

JavaScript 条件判断

JavaScript 条件判断 单行条件判断 JavaScript使用if () { ... } else { ... }来进行条件判断。 流程图 if (){ }else{ } 例如&#xff0c;根据年龄显示不同内容&#xff0c;可以用if语句实现如下&#xff1a; var age 20; if (age > 18) { // 如果age > 18为true&…

JavaScript的判断语句

一、if语句 语法:if (判断的条件) {当小括号内的条件为真, 然后才会执行} var a 1;a 2;if (a 1) {console.log(1); }if (a 2) {console.log(2);}二、if……else语句 语法:if (判断的条件) {当小括号内的条件为真, 然后才会执行} else{否则执行else里面的}var a -1;i…

javascript怎么判断是否为对象

判断方法&#xff1a; 1、使用toString()来判断&#xff1b; 2、使用“obj.constructor Object”来判断&#xff1b; 3、使用“typeof obj Object”来判断&#xff1b; 4、利用instanceof关键字来判断。 5、$.isPlainObject() 判断指定参数是否是一个纯粹的对象&#xf…

定制RPM包(FPM和原生rpmbuild)

例子&#xff1a; Redis打包(FPM工具) Nginx打包RPM&#xff08;FPM工具&#xff09; Nginx&#xff08;SPEC文件打包&#xff09; Redis&#xff08;SPEC文件打包&#xff09; 一、FPM工具进行打包 1. 更新yum软件源 yum update2. 安装fpm模块依赖 yum -y install ruby ru…

12.4 RPMB

UFS里&#xff0c;有这么一个LU&#xff0c;主机往该LU写数据时&#xff0c;UFS设备会校验数据的合法性&#xff0c;只有特定的主机才能写入&#xff1b;同时&#xff0c;主机在读取数据时&#xff0c;也提供了校验机制&#xff0c;保证了主机读取到的数据是从该LU上读的数据&a…

rpmbuild编译安装制作rpm包

什么是rpm包? rpm 相当于windows中的安装文件,它会自动处理软件包之间的依赖关系。 rpm优点: 包管理系统简单,通过几个命令就可以实现包的安装、升级、卸载。 安装速度比源码包快的多。 缺点: 经过编译,不能看到源代码,功能选择不如源码灵活。依赖性强。 首先说一下流程…

Linux下软件部署安装管理----rpmbuild打包rpm包部署安装

来源&#xff1a;微信公众号「编程学习基地」 文章目录 1.安装rpmbuild2.rpm包制作打包rpm包 3.rpm包安装4.rpm包卸载 1.安装rpmbuild yum install rpmbuild yum install rpmdevtools创建rpm包管理路径&#xff0c;生成rpm相关目录 RPM打包的时候需要编译源码&#xff0c;还…

rpmbuild打包rpm

一、rpmbuild及rpm rpm rpm命令 是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序&#xff0c;由于它遵循GPL规则且功能强大方便&#xff0c;因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现&#xff0c;让Linux易于安…

RPMB详解

这里写自定义目录标题 RPMB详解1. 简介1.1. 概述1.2. 基本原理 2. 命令需求3. 用于RPMB访问的数据帧4. RPMB的组成5. mac计算6. 访问流程6.1. 写认证密钥&#xff08;write Authentication Key&#xff09;6.2. 读计数器值&#xff08;Reading of the Counter Value&#xff09…

python项目使用setuptools和rpmbuild构建rpm包

python项目使用setuptools和rpmbuild构建rpm包 文章目录 python项目使用setuptools和rpmbuild构建rpm包一、setuptools二、使用rpmbuild&#xff0c;编写.spec文件构建rpm包三、使用pyinstaller四、参考文献&#xff1a; 一、setuptools 作为 Python 标准的打包及分发工具&…

rpm(基本命令、Makefile、建立rpmbuild编包)

文章目录 一、rpm基本命令介绍1.安装软件2、升级软件3、查询软件包的详细信息4、查询某个文件是属于那个rpm包的5、查该软件包所包含的文件6、查看软件包所依赖的软件7、查看某个包是否被安装8、卸载 二、rpm命令实践三、把c语言程序和makefile内容&#xff0c;编译情况和执行情…

rpmbuild制作rpm 包

什么是rpm包&#xff1f; rpm 相当于windows中的安装文件&#xff0c;它会自动处理软件包之间的依赖关系。 rpm优点&#xff1a; 包管理系统简单&#xff0c;通过几个命令就可以实现包的安装、升级、卸载。 安装速度比源码包快的多。缺点&#xff1a; 经过编译&#xff0c…

项目打包rpm包(rpmbuild)

这里以python项目为例&#xff0c;通过rpmbuild工具打包成rpm包&#xff0c;并进行安装验证 rpmbuild打包 rpm流程 构建rpmbuild打包目录 rpmbuild 默认变量配置文件 将我们的python项目和依赖包压缩成xx.tar.gz格式&#xff0c;并copy到SOURCE目录 我们这里以datalake-demo…

前向星和链式前向星

链接&#xff1a;https://blog.csdn.net/ACdreamers/article/details/16902023 我们首先来看一下什么是前向星. 前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序, 并记录下以某个点为起点的所有边在数组中的…

关于链式前向星

最近看了许多题目都用了比较奇怪的东西… 后面才发现是神奇的链式前向星….. 听名字就觉得很牛啊&#xff01; 然而其实很简单…… 组成:begin,next,to,w,与一个用来标记的e begin[n]数组&#xff1a;代表编号为n的点,最后一条边的储存位置 next[n]:是用来保存从同一个点…