【发布时间】:2017-04-11 08:47:07
【问题描述】:
我正在使用这个 jQuery 代码向 PHP 发送数据:
var fromdata2 = $('#form').serialize();
var file_data = $('#fileid').attr('files')[0];
var fromdata = new FormData();
fromdata.append('fileid', file_data);
fromdata.append('post_data', fromdata2);
$.ajax({
type: "POST",
cache: false,
contentType: false,
processData: false,
data: fromdata,
dataType: "json",
url: "url",
success: function (data)
{
alert("success");
}
});
我以这种形式收到数据:
code=&id=&CTR_ID=&ctr_name=asdsadsad&air_name=Action+Airlines&air_uniCode=XQ&ctr_strDate=04%2F11%2F2017&ctr_endDate=04%2F11%2F2017&ctr_docNameHid=5337XXXXXXXXXX78_09-06-2016&recstatus_val=1
但是当我尝试处理它时,使用以下代码:
var_dump(unserialize($data));
我收到此错误:
unserialize(): Error at offset 0 of 537 bytes.
如何反序列化它,在数组中查找结果,如下所示:
array(
code=>,
id=>,
CTR_ID=>,
ctr_name=>'asdsadsad'
)
【问题讨论】:
-
嗨,apokryfos 请给我发送正确的代码,用于发送带有表单数据和文档上传文件的 AJAX 请求。
-
就像
$_GET['code']和$_FILES['']一样简单 -
您正在使用 Javascript JQuery 序列化函数,然后尝试使用 PHP 反序列化函数。那是两种不同的语言。它们的工作方式不同。