js数组转为json对象通过ajax传参

JavaScript011

js数组转为json对象通过ajax传参,第1张

你数据都是现成的 直接创建一个就好了

你如果要把arrYearPay转为{yearPay:100},{yearPay:200}这样键名都一样的对象,还不如直接post数组到后台,反正没有key可辨识,直接通过数组索引判断就是了

给你粗略写个demo

var code = "A123"

var rate = 100

var arrYearPay = [100,200,300]

var data = {

    code: code,

    rate: rate,

    yearPay: arrYearPay

}

var url = './demo.php' //你post地址

$.post(url, data, function (e) {

    alert(e)

})

后台php代码

<?php

$code= $_POST["code"]

$rate= $_POST["rate"]

$yearPay = $_POST["yearPay"] //这个就是数组对象了

$sum = 0 

foreach($yearPay  as $year){

    $sum  += $year * $rate   //这个我随便写的啊 改成你自己的公式了

}

echo $sum

?>

1、按照描述,题主是想将多条数据记录提交到服务端,同时服务端将数据插入到数据库。那么思路是将多条数据存在数组中,调用post方法的接口传入后端。

2、方法如下:

var sendData = []

sendData.push({name:'david',age:'20'})

sendData.push({name:'peter',age:'23'})

3、传递数据给服务端,一般使用post方法调用接口,使用jquery,代码如下:

$.post("接口路径",sendData,function(result){

console.log(result,'发送结果')

})

扩展资料:

1、json与字符串互相转换:

JSON.parse('{"name":"karla"}')//将字符串转换为json

JSON.stringify({name:'karla'})//将json转化为字符串

2、jquery中post与get的区别:

1) $.get() 方法使用GET方法来进行异步请求的。$.post() 方法使用POST方法来 进行异步请求的。

2)get请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体     内容发送给Web服务器的,这种传递是对用户不可见的。

3) get方式传输的数据大小不能超过2KB 而POST要大的多。

4)GET 方式请求的数据会被浏览器缓存起来,因此有安全问题。

参考资料:百度百科-json