ajax post 提交大量数据
发布时间:2020-12-16 03:23:29 所属栏目:百科 来源:网络整理
导读:在做个彩票项目的时候,有个业务是需要一个大型的数组通过ajax把一个大型数组传到后台,网上搜了一大轮,发觉说的都是说这种方式使用ajax不符合业务要求。 或者问非所答,很少有亲自测试的。 这里做了个10W长度的数据通过post请求传到后台。 !DOCTYPE html h
在做个彩票项目的时候,有个业务是需要一个大型的数组通过ajax把一个大型数组传到后台,网上搜了一大轮,发觉说的都是说这种方式使用ajax不符合业务要求。 这里做了个10W长度的数据通过post请求传到后台。<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>大量数据测试</title>
</head>
<body>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript"> ;(function(){ function fun(){ var arr=new Array(); for(var a=0;a<10;a++){ for(var b=0;b<10;b++){ for(var c=0;c<10;c++){ for(var d=0;d<10;d++){ for(var e=0;e<10;e++){ arr.push(a.toString()+b.toString()+c.toString()+d.toString()+e.toString()); } } } } } $.ajax({ url:"post.php",type:"post",data:{big:arr},success:function(data){ console.log(data); } }) } function test(func){ var start = new Date().getTime();//起始时间 func();//执行待测函数 var end = new Date().getTime();//接受时间 return (end - start)+"ms";//返回函数执行需要时间 } console.log("start:开始计时"); var time = test(fun); console.log(time); console.log("end:开始计时"); })(); </script>
</body>
</html>
后台只是简单的返回数据,并没有作数据处理 <?php $big=$_POST['big']; echo "success"; ?>
得出的结果是需要416ms—422ms才能把数据作异步返回.
说干就干, 主要是利用JSON.stringify() var json=JSON.stringify(arr);
json.replace("[");
json.replace("]");
console.log(json);
$.ajax({
url:"post.php",type:"post",
data:{big:json},
success:function(data){ console.log(data); }
})
这样就将数组转换成字符串了。 提交到后台的数据,只需要处理一下分解下字符串,就可以使用了$hello = explode(',',$_POST['big']);
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |