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

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 = '/demophp'; //你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
>

所谓类数组对象,通俗的说就是具有数组的某些特性,使用上非常类似于数组。

比如使用getElementsByTagName()方法获取的dom元素集合,下面就介绍一下如何利用jQuery将其转换为数组。

代码实例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="" />
<title></title>
<script src="jqueryjs"></script>
<script type="text/javascript">
$(function(){
  $("#bt")click(function(){
    var lis=documentgetElementsByTagName("li");
    var arr=$makeArray(lis);
    arrreverse();
    $(arr)appendTo(documentbody);
  })
});
</script>
</head>
<body>
<input type="button" id="bt" value="查看效果"/>
<ul>
  <li>今天天气很冷</li>
  <li>陈雨</li>
</ul>
</body>
</html>

在利用jQuery EasyUI框架进行程序开发时,碰到前台将JSON格式数据传递到服务器后台,经php的json_decode函数转换成的数组由于为对象数组,php程序无法对数据进行正常处理的情况,为此需要开发一个PHP回调函数(objarray_to_array)将对象数组转换成普通数组。
/
对象数组转为普通数组

AJAX提交到后台的JSON字串经decode解码后为一个对象数组,
为此必须转为普通数组后才能进行后续处理,
此函数支持多维数组处理。

@param array
@return array
/
function objarray_to_array($obj) {
$ret = array();
foreach ($obj as $key => $value) {
if (gettype($value) == "array" || gettype($value) == "object"){
$ret[$key] = objarray_to_array($value);
}else{
$ret[$key] = $value;
}
}
return $ret;
}

var arr = ["中国|广东|深圳","中国|广东|深圳","中国|湖北|黄石","中国|湖北|武汉","中国|广东|广州","中国|广东|广州","中国|湖北|武汉","中国|福建|福州","中国|福建|厦门"];
        var result={};
        var temp={};
        for(var i=0;i<arrlength;i++){
            var item=arr[i];
            var its=itemsplit('|');//按|拆分
            var country=its[0];//国家
            var province=its[1];//省
            var city=its[2];//城市
            if(!result[country]){//国家不在结果对象里
                result[country]=[];//添加
            }
            if(!temp[province]){//临时对象没有省信息
                result[country]push(temp[province]={//记入结果数组
                    province:[province],
                    city:[],
                    count:[]
                });
            }
            var info=temp[province];
            var found=false;
            for(var j=infocitylength-1;j>=0;j--){//在省信息的城市数组里查找是否已经存在
                if(infocity[j]==city){
                    found=true;//已经存在
                    infocount[j]=infocount[j]+1;//更新count
                }
            }
            if(!found){//未找到城市
                infocitypush(city);//添加
                infocountpush(1);//count初始值为1
            }
        }
        consolelog(result);


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13342275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-18
下一篇 2023-07-18

发表评论

登录后才能评论

评论列表(0条)

保存