教你怎么用ajax传数组(也可以是转为json)

article/2025/11/7 12:35:40

我之前写过一个关于ajax的详解,那个是标准的ajax,今天介绍的是怎么用ajax传递数组这样的数据类型呢?很多的时候我们需要给后端的数据不是几个单独的数据,一般见到的代码的是这样的:

data: {
id : id,
name : name,
sex : sex
}

这样的是最常见的一种数据格式,常用的是注册和登录,结合jQuery将用户输入的用户信息取出来,赋值给一个变量,类似于这样的:

var id = $("#id");
var name = $("#name");
var sex = $("#sex");

然后就是之前说的,将数据放到data里面,当然这是最常见的一种传输方式,但是真正的项目中有的时候是多条数据,是我们遍历出来的,然后是数组的格式传递过去的,类似于:

这样的,那么这个时候他们的数据就是这样的:

0:{id: 1, name: "感冒", num: "2"}
1:{id: 2, name: "发烧", num: "4"}
2:{id: 3, name: "头痛", num: "5"}
length:3

那么这个时候,ajax直接写data一个一个的写行不行呢?当然是可以的,但是当你添加一列的时候就会头痛了,数据永远是不对的,所以这个时候就需要这样处理数据:

声明一个数组:

var caseVOS = [];/*遍历的取数据·*/for( var j=1;j<=i;j++){var data={name:$("#" + "name" + j).val(),num:$("#" + "ls" + j).val()}caseVOS.push(data);}

如果您不知道里面的i是什么,没关系,是这样的:

if(divListFlg.length<5){i++;divListFlg.push(i)var divRow ='<div class="row" style="margin-top: 1rem; " id="addrows'+i+'" >' +'<div class="col-xs-2" id="addzd'+i+'"> ' +'<input type="text" class="form-control" placeholder="诊断名" id="name'+i+'"  style="background:#FFFFFF;">' +'</div>' +'<div class="col-xs-2" id="addzd'+i+'"> ' +'<input type="text" class="form-control" placeholder="例数" id="ls'+i+'"  style="background:#FFFFFF;">' +'</div>' +'</div>';$("#div_add:last").append(divRow);}else{layer.msg("一次最多操作五条");}

其实就是我新加一列的js,我们需要判断的是用户是不是无限增加了,这个是项目的需求,不要纠结。ok回到传递数据的地方,这个时候数据取到了,是数组,怎么给ajax传递过去呢?看代码:

/*这个时候是已经将数据取出来了,但是是需要将数据发送给后端的,所以需要的是写一个ajax*/$.ajax({type:"post",url:"/user/case/refer",data : JSON.stringify(caseVOS),dataType:"json",contentType:"application/json",async:false,success:function(data){ if(data.code == 200){layer.msg('发布成功!', {}, function(){//跳转的URL重定向到新的页面,这里是直接跳转到个人中心window.location.href='personal_homepage.html';}); }else{layer.alert("res"+result);layer.msg(data.message);}}});  


这是一段简单的ajax ,但是已经是可以将数组的数据传递过去了,里面需要说明的一点是,

contentType是传输过去的时候的数据类型,dataType是接收服务器的时候的数据类型

所以如果不设置这里的话,也是可以的,只是看你的后端代码的数据类型是什么样的,根据情况来看的,这个是没有关系的。

那么contentType的格式其实有四种:

application/x-www-form-urlencoded

这应该是最常见的 POST 提交数据的方式了。浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。

multipart/form-data

这又是一个常见的 POST 数据提交的方式。我们使用表单上传文件时,必须让 form 的 enctyped 等于这个值

application/json

application/json 这个 Content-Type 作为响应头大家肯定不陌生。实际上,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 JSON 字符串。由于 JSON 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持 JSON.stringify,服务端语言也都有处理 JSON 的函数,使用 JSON 不会遇上什么麻烦。

JSON 格式支持比键值对复杂得多的结构化数据,这一点也很有用。记得我几年前做一个项目时,需要提交的数据层次非常深,我就是把数据 JSON 序列化之后来提交的。不过当时我是把 JSON 字符串作为 val,仍然放在键值对里,以 x-www-form-urlencoded 方式提交。

Google 的 AngularJS 中的 Ajax 功能,默认就是提交 JSON 字符串。

text/xml

它是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范。

最后没有看明白的朋友可以私信我,或者直接评论出来,看到了的我会回复的,另外喜欢手机的可以关注我的网站搞机族


http://chatgpt.dhexx.cn/article/43JfqL3r.shtml

相关文章

Ajax传递数组到后台的两种方式

直接传输不可行 第一种 将ajax参数传递修改为tradition: traditional: true $.ajax({xhrFields: {withCredentials: true},async: true,url: basePath "/consumer/work",type: "post",dataType: "json",traditional: true,data : {sql :text,/…

前端ajax发送数组请求的两种方式

今天踩了一个大坑 就是使用ajax将数组发送到后台 后台的controller接收不到 好的 废话不多说 直接上干货 第一种方式&#xff1a; 直接传送数组 后台接收的话需要使用 RequestParam(value "userIds") Long[ ] 来接收 第二种方式&#xff1a; 将数组转换为List …

jquery ajax 向后台传递数组参数

Ajax 传递数组到后台 博客分类&#xff1a; JavaScript jquery ajax 向后台传递数组参数示例 Js代码 function login123(){ var nameArr new Array(); nameArr.push("adm,in"); nameArr.push("jo,in"); nameArr.p…

JFINAL+Ajax传参 array 数组方法 获取request中数组

前台代码js var _list [];for (var i 0; i < array.length; i) { _list[i] array[i]; } $.ajax({ type: "post",url: "",data: {"ids": _list },dataType: "json",success: function(data){alert("添加成功"); …

ajax向后端传递数组

https://blog.csdn.net/feinifi/article/details/81180673 https://blog.csdn.net/weixin_44150474/article/details/103526735 https://www.cnblogs.com/lijianda/p/9936775.html https://blog.csdn.net/weixin_44150474/article/details/103526735 ajax在web项目开发中经常…

ajax通过post方法传数组

ajax在web项目开发中经常会用到&#xff0c;平时我们传递数据&#xff0c;基本都是一个参数名对应一个参数值&#xff0c;后端通过参数名就可以得到参数&#xff0c;从而进行相关逻辑处理&#xff0c;但是有时候我们会遇到批量操作&#xff0c;比如批量删除一个列表&#xff0c…

ajax 传数组

使用 ajax 传数组&#xff0c;可以有很多种方式实现&#xff0c;如将数组序列化成 json字符串&#xff0c;或者将数组转换成字符串&#xff0c;都能实现。这里介绍一种方式&#xff0c;添加属性 traditional: true&#xff0c;直接传 代码如下 controller package com.approv…

Ajax传递数组

Ajax传递数组与后端接收 在此记录刚开始做开发的时候&#xff0c;Ajax都不怎么会用&#xff0c;都只是传一些简单的字符串&#xff0c;那Ajax怎么将数组传到服务器&#xff0c;先看一下Ajax的结构 //建立两种类型的数组,这两种类型的数组都是经常用到的var arryA new Array(…

ajax传递数组怎么传?ajax数组传递

在我们平时的开发中&#xff0c;经常会需要用到ajax&#xff0c;关于ajax是什么&#xff0c;又该如何传递参数&#xff0c;相信通过上几篇文章你们已经有所了解。但是&#xff0c;ajax中要如何传递数组你们又知道吗&#xff1f;今天我们就来聊一聊ajax中该如何传递数组。 ajax…

java10 var关键字浅析

2018年3月20日&#xff0c;Oracle发布java10。java10为java带来了很多新特性&#xff0c;其中让人眼前一亮的便是var关键字的引入。 从今以后我们可以这样写java代码了。 public class Example {public static void main(String[] args) {var eg new Example;eg.emptyFunc()…

VAR模型Stata实例操作

一.步骤 1.序列平稳性检验 2.确定滞后阶数 3.模型平稳性检验 4.格兰杰因果关系检验 上述检验都通过后再进行以下步骤 5.脉冲响应分析 6.方差分解 二.各步骤的具体解释 1.序列平稳性检验 主要两种方法&#xff1a;单位根检验&#xff0c;看ACF、PACF图的截尾拖尾情况 …

jquery变量var的使用

变量var的使用 js的变量没有类型 var $li $(# file.id),$percent $li.find(.progress span);//console.log("percentage:", percentage);// 避免重复创建if (!$percent.length) {$percent $(<p class"progress"><span></span></…

简单了解var

下面我会使用几个小例子简单说明var的使用方法和含义。 Var变量&#xff0c;要定义变量&#xff0c;可以使用 var 操作符&#xff08;注意 var 是一个关键字&#xff09;&#xff0c;后跟变量名&#xff08;即标识符&#xff09;也叫创建JavaScript变量是我们在前端里比较常用…

【FinE】在险价值(VaR)计算

导航 VaR模型案例&#xff1a;AAPL历史模拟法参数模型分析法非参数bootstrapMonte-Carlo模拟计算 参考资料 VaR模型 在险价值Value-at-risk的定义为&#xff0c;在一定时期 Δ t \Delta t Δt内&#xff0c;一定的置信水平 1 − α 1-\alpha 1−α下某种资产组合面临的最大损失…

VAR模型

文章目录 一、VAR是什么&#xff1f;1.引入库2.读入数据3.执行程序 总结 一、VAR是什么&#xff1f; 以金融价格为例&#xff0c;传统的时间序列模型比如ARIMA,ARIMA-GARCH等&#xff0c;只分析价格自身的变化&#xff0c;模型的形式为&#xff1a; 其中称为自身的滞后项。 但…

VaR 与 CVaR

VaR, value at risk, 风险价值&#xff0c;表示金融产品在给定置信水平 α \alpha α 下的最大损失。用 X X X 表示该随机波动的金融产品收益&#xff0c; F X ( x ) F_X(x) FX​(x) 为其累计概率分布&#xff0c;则 VAR 的数学表示式为&#xff1a; VaR α ( X ) − inf ⁡…

python实现VaR和CVaR的计算

python实现VaR和CVaR的计算 1.引言2.问题2.1问题描述2.2 问题解析 3. 数据导入与数据预处理4.VaR的计算4.1 参数法4.2 蒙特卡洛法4.3 历史模拟法4.4 不同方法的VaR比较 5.CVaR的计算5.1 CVaR的计算5.2 VaR和CVaR的比较 6.结语7.代码和数据集链接8.参考资料 1.引言 VaR和CVaR的…

【FinE】正态分布和t分布下的CVaR

导航 CVaR and VaRModelnormal distributionstudent t distribution Case StudyReference CVaR and VaR CVaR(Conditional Value-at-Risk)也被称为Expected Shortfall(ES) 或者 Expected Tail Loss(ETL)&#xff0c;可以解释超过给定VaR值的期望损失&#xff0c;在很多风险分析…

条件风险价值CVaR

产生背景 &ThickSpace;&ThickSpace;&ThickSpace;&ThickSpace;&ThickSpace;&ThickSpace; \;\;\;\;\;\; CVaR即条件风险价值&#xff0c;是由RockafeUar和Uryasev等于1997年提出的一种较VaR更优的风险计量技术&#xff0c;其含义为在投资组合的损失超过某…

VaR和CVaR举例说明_笔记转载

风险价值VaR成为金融市场风险度量的主流指标 VaR自1993年发展至今已作为金融市场风险度量的主流指标被各银行、投资公司、证券公司及金融监管机构广泛采用。VaR不仅具有概念简单&#xff0c;易于沟通和理解的优点&#xff0c; 而且为不同金融工具构成的复杂的投资组合提供了一…