博客列表 >JQuery ajax 方法向php后台发送数组

JQuery ajax 方法向php后台发送数组

hanyufeng的博客
hanyufeng的博客原创
2018年02月08日 12:13:511092浏览

说明:

使用JQuery ajax 方法向php后台发送数组,通过$_POST获取,网络上常见的资料一般说ajax 方法的traditional参数要设置为true,但实际测试却与此相反。

例如:

Html部分:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--<script src="/L20/jquery-3.2.1.min.js"></script>-->
 <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
</body>
<script>
        var list= new Array(1,2,3,4,5);
 $.ajax({
            type: 'POST',
 async: false,//false 关闭异步
 url: "/ajax.php",
 data: {data:list},//data名称可以是任意的
 //traditional:true,  //如果设置为true,只能接收到数组的最后一个元素
 dataType: "text",
 success: function (data) {
                alert(data);
 }
        });
</script>
</html>

PHP部分:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/2/8
 * Time: 11:57
 */

$post = $_POST;
echo '收到!';

如果不设置traditional参数(默认即为false),可以获得全部数组(使用PHPStorm调试工具查看,下同):

ajax1.png

设置traditional参数为true,则只能获取数组的最后一个元素:

ajax2.png


运行环境:

在PHP5.6、ThinkPHP 5.0、JQuery 2.x/3.x 下调试都是这样的结果。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议