用jquery用post传递数组给php

来源:互联网 发布:java rpc框架对比 编辑:程序博客网 时间:2024/05/21 08:53

在一个项目里需要用jquery post一个可变的数组

上代码

//取出人物数量

var int_person = $('[id^=person]').size();

var item = [];

for(var i =0;i

var people_id = $('[id^=person]').eq(i).attr('id');

var people_x =parseInt($('[id^=person]').eq(i).css('left').substring(0,$('[id^=person]').eq(i).css('left').lastIndexOf("px")));

var people_y =parseInt($('[id^=person]').eq(i).css('top').substring(0,$('[id^=person]').eq(i).css('top').lastIndexOf("px")));

var people_z =parseInt($('[id^=person]').eq(i).css('z-index'));

item.push(people_id+'|'+people_x+'|'+people_y+'|'+people_z);

}

//取出物品数量

var int_item = $('[id^=item]').size();

for(var i =0;i

var item_id = $('[id^=item]').eq(i).attr('id');

var item_x =parseInt($('[id^=item]').eq(i).css('left').substring(0,$('[id^=item]').eq(i).css('left').lastIndexOf("px")));

var item_y =parseInt($('[id^=item]').eq(i).css('top').substring(0,$('[id^=item]').eq(i).css('top').lastIndexOf("px")));

var item_z = parseInt($('[id^=item]').eq(i).css('z-index'));

item.push(item_id+'|'+item_x+'|'+item_y+'|'+item_z);

}

var url = 'XXXXXXXXXX.php';

var data = {'item[]':item};

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

alert(0);

}

)

 

var data ={'item[]':item};

用item[]时

post参数

item[]person2|0|0|110item[]person3|0|0|112item[]person4|0|0|114item[]person5|0|0|116item[]person6|0|0|118item[]person12|0|0|120item[]item7|0|0|100item[]item8|0|0|102item[]item9|0|0|104item[]item10|0|0|106item[]item11|0|0|108

接受时代码

var_dump($_REQUEST);

显示为:

array(1) {  ["item"]=>  array(11) {    [0]=>    string(15) "person2|0|0|110"    [1]=>    string(15) "person3|0|0|112"    [2]=>    string(15) "person4|0|0|114"    [3]=>    string(15) "person5|0|0|116"    [4]=>    string(15) "person6|0|0|118"    [5]=>    string(16) "person12|0|0|120"    [6]=>    string(13) "item7|0|0|100"    [7]=>    string(13) "item8|0|0|102"    [8]=>    string(13) "item9|0|0|104"    [9]=>    string(14) "item10|0|0|106"    [10]=>    string(14) "item11|0|0|108"  }}

而是用var data ={'item':item};注意没有中括号时

itemperson2|0|0|110itemperson3|0|0|112itemperson4|0|0|114itemperson5|0|0|116itemperson6|0|0|118itemperson12|0|0|120itemitem7|0|0|100itemitem8|0|0|102itemitem9|0|0|104itemitem10|0|0|106itemitem11|0|0|108

接受代码一样

var_dump($_REQUEST);

注意显示

array(1) {  ["item"]=>  string(14) "item11|0|0|108"}
只有一个值
所以post array值时data中key必须加[]