jquery $.ajax如果传递数组到后端?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

jquery $.ajax如果传递数组到后端?

小旋风柴进 2016-05-30 09:35:31 1483

前端代码:

<html>
<head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="http://apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.css">
    <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>

    <div class="row">
                              <div class="span8">
                                  <ol id="attachment">
                                    <li><a href="123">123+++</a></li>
                                    <li><a href="456">456+++</a></li>
                                    <li><a href="789">789+++</a></li>
                                </ol>
                              </div>
                            </div>
<button class="btn btn-default" type="submit">Button</button>

<script type="text/javascript">


    $("button[type='submit']").click(function(){
         attachment = [];
        $("#attachment li a").each(function(key,value){
                attachment[value.text]=value.href;
        
        });
        console.log(attachment);
        $.ajax({
                type : "POST",
                url : 'test.php',
                data : {'test':attachment},
                success:function(data){
                    console.log(data);
                }
                
            });

    });
            
</script>
</body>
</html>

大概意思就是,获取ol.li.a的超链接内容
获取到之后,想把他加入到一个数组里面,有键值的那种。
console.log(attachment); 的时候也看到是个数组了,
但是我通过$.ajax传值过去不行了。
后端获取不到post的值。
还是我理解错了,attachment是个对象?搞晕了。
主要是2点:
1,我要把获取超链接的内容和href放到一个数组里面,有键值名的那种例如:a['cn']='ak'
2,传值我看了手册说,如果要传值数组过去,需要加个参数,traditional: true,
我也加了,但是不行,请各位帮帮忙。Ths

云服务器登录 云服务器设置
分享到
取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 19:19:02

    attachment = []; 改为 var attachment = {}; 即可.
    screenshot
    改之后的运行效果图:

    screenshot
    test.php 代码如下:

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

相似问题
最新问题
推荐课程