欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php如何解析jquery serialize 提交后的数据

程序员文章站 2022-05-22 17:48:39
...
客户端通过jquery serialize 提交表单数据

$("#submit_survey").click(function(){    	 $.post(SITE_URL+'activity/survey/savesurvey', {data:$('#survey_form').serialize()}, function(response){            if (response.error_code) {                infotips(response.msg, $('.submit_tips'));            } else {                infotips('保存成功', $('.submit_tips'), 'right');            }         }, 'json');     	return false;    });


在php端post到的数据为:
title=%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%9C%A8%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E6%82%A8%E7%9A%84%E9%97%AE%E7%AD%94%E9%A2%98%E7%9B%AE%EF%BC%8C%E5%90%8C%E6%97%B6%E5%AF%B9%E9%97%AE%E7%AD%94%E6%B4%BB%E5%8A%A8%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E&cover_image=&file_name=&file_partpath=&description=&isgender=0&isarea=0&isage=0&question%5B1%5D=ghk&option%5B1%5D%5B0%5D=hgkhk&option%5B1%5D%5B1%5D=hkhj&option%5B1%5D%5B2%5D=khgkhk&option%5B1%5D%5B3%5D=&question%5B2%5D=hgkh&option%5B2%5D%5B0%5D=hkhjk&option%5B2%5D%5B1%5D=hjkhjl&option%5B2%5D%5B2%5D=

如何替换为正确的格式:
Array
(
[title] => dsgd
[cover_image] => hdsgdsg
[file_name] => 219_20130514170542.jpg
[file_partpath] =>
[description] =>
[isgender] => 0
[isarea] => 0
[isage] => 0
[question] => Array
(
[1] => dgdg
)

[option] => Array
(
[1] => Array
(
[0] => aa
[1] => bb
[2] => cc
)

)

)



回复讨论(解决方案)

不会吧?jq 这么弱智?!
按正常的标版提交处理就可以了

如果真的如你所说,那么 parse_str 就是为这准备的,当然你还需要先用 urldecode 解一下码

用$.post时不需要{data:$(form).serialize()}而是直接$(form).serialize()就行

也许因为这个,本来是分别独立的input值被变成了了data的string类型的值了啊

用$.post时不需要{data:$(form).serialize()}而是直接$(form).serialize()就行

也许因为这个,本来是分别独立的input值被变成了了data的string类型的值了啊

的确如此,多谢

不会吧?jq 这么弱智?!
按正常的标版提交处理就可以了

如果真的如你所说,那么 parse_str 就是为这准备的,当然你还需要先用 urldecode 解一下码

的确是我用错了