js里面的对象ajax post到php端直接变成数组了? 本帖最后由 zhoumengkang 于 2013-09-12 10:03:14 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var str2 = eval('('+str+')'); jquery 在 ajax 操作时会将 json 对象转换成 url 参数串的格式所以你在 php 可以用正常方式接受jq 提供有序列化函数 htmlSerialize、Serialize 我是说怎么直接把js对象到php这边就直接变成数组了?正常使用,是正常使用,数据类型肿么转换了? is 在执行 $.post 用 Serialize 方法将 {'data':{'a':'b','aa':'bb'}}转成了 data[a]=b&data[aa]=bb 发送到 phpphp 收到 data[a]=b&data[aa]=bb 后,调用 parse_str 函数,将其转换为array ( 'data' => array ( 'a' => 'b', 'aa' => 'bb', ),)赋值给 $_POST 数组 var str2 = eval('('+str+')');这句,确实直接把json转换成了js对象了。但是,$.post你确定能够发送对象到php上?即使你发送一个数组上去,他也会把数组拆成一个一个的参数发送上去的。他先把你的对象搞成数组,然后再把数组搞成一个一个参数,然后在php那边一个个参数又合并成一个数组。其实跟你通常看到的get方式参数串差不多,也没听说过get还能get出来一个对象。纯臆断,欢迎拍砖。 不知道你还能不能看到,今天在手册上看到这段话,就更加容易理解了:http://www.php.net/manual/zh/reserved.variables.httprawpostdata.phppost传过来的值应该是:$HTTP_RAW_POST_DATA而我们用的$_POST是在此基础上格式化了的数据 ajax+php定时刷新session会话过期问题 新手求正则表达式! 求在线发送邮件的例子 php写的B/S,想点击链接后把服务器那边数据库里的有关数据导成xls下载下来,求实现方法 求织梦系统的一个问题? json有没有提供单独的php类库? 新闻系统中,不事先生成新闻列表的静态页面,而是用户访问的时候在生成,怎么实现??给思路 .php3? DreamweaverMX2004为什么空htm文件会出现这个? Zen么样制作PHP帮助?就像php.net网站上的帮助那样? PHP网页访问自动下载 连接mysql问题
var str2 = eval('('+str+')');
所以你在 php 可以用正常方式接受jq 提供有序列化函数 htmlSerialize、Serialize
转成了 data[a]=b&data[aa]=bb 发送到 php
php 收到 data[a]=b&data[aa]=bb 后,调用 parse_str 函数,将其转换为array (
'data' =>
array (
'a' => 'b',
'aa' => 'bb',
),
)赋值给 $_POST 数组
但是,$.post你确定能够发送对象到php上?即使你发送一个数组上去,他也会把数组拆成一个一个的参数发送上去的。
他先把你的对象搞成数组,然后再把数组搞成一个一个参数,然后在php那边一个个参数又合并成一个数组。其实跟你通常看到的get方式参数串差不多,也没听说过get还能get出来一个对象。纯臆断,欢迎拍砖。
http://www.php.net/manual/zh/reserved.variables.httprawpostdata.phppost传过来的值应该是:$HTTP_RAW_POST_DATA
而我们用的$_POST是在此基础上格式化了的数据