在Javascript/jQuery中解析PHP序列化数组
Parse PHP serialized array in Javascript/jQuery
数据通过PHP
写入html
文件,如下所示:
$data = json_decode(stripslashes($_POST['data']));
if($data[0]!=''){
$_SESSION['chatCode'] = $data[2];
$fp = fopen('../sessions/chats/log_'.$data[2].'.html', 'a');
$content = array(
'author' => $data[1],
'message' => $data[0],
'time' => date('H:i:s'));
fwrite($fp,serialize($content));
fclose($fp);
}
然而,我正在努力在jQuery中解析序列化的数据客户端。我现在的代码是这样的:
$.get('sessions/chats/log_'+chatCode+'.html', function(data){
$('#chatContent').html(makePretty(data));
}
function makePretty(html){
var data = JSON.stringify(html);
console.log(data);
var content = '';
for(i=0; i < data.length; i++){
content += '<div class="msgln">'+
'<div class="meta">'+
'<span class="name">'+data[i]['author']+'</span>'+
'<span class="time">'+data[i]['time']+'</span>'+
'</div>'+
'<div class="msg">'+data[i]['message']+'</div>'+
'</div>';
}
return content;
}
日志文件log_test.html
包含:
a:3:{s:6:"author";s:5:"e297f";s:7:"message";s:4:"test";s:4:"time";s:8:"09:23:23";}a:3:{s:6:"author";s:5:"e297f";s:7:"message";s:4:"test";s:4:"time";s:8:"09:26:39";}a:3:{s:6:"author";s:5:"e297f";s:7:"message";s:4:"test";s:4:"time";s:8:"09:37:03";}
控制台日志:
"a:3:{s:6:'"author'";s:5:'"e297f'";s:7:'"message'";s:4:'"test'";s:4:'"time'";s:8:'"09:23:23'";}"
那是因为你是serialize($content)
数据和写它。相反,尝试json_encode($content)
并编写它。这应该与您当前的jQuery代码工作。
fwrite($fp,serialize($content));
fwrite($fp,json_encode($content));
写入序列化数组是不好的做法,您必须使用json_encode
将数据保存到文件中:
fwrite($fp,json_encode($content));
和在ajax中获取数据,而不是使用JSON.stringify
使用:
JSON.parse(dataString);
相关文章:
- PHP未从AJAX接收序列化数据
- 使用$.post将jquery mobile的序列化数据传递到PHP
- 序列化的 Ajax 参数未显示在 PHP 中
- PHP 反序列化 JS 序列化的变量字符串
- 使用 jQuery POST 和 php 序列化和提交表单不起作用
- jQuery 序列化数据和 PHP $_POST 不匹配
- Ajax/PHP 表单获取序列化选择值
- ajax数组上的PHP序列化不起作用
- javascript中的JSON序列化和php反序列化
- 用于php的Javascript数组序列化函数
- 将javascript数组转换为php不可序列化的字符串
- 循环序列化的PHP表单字段
- PHP:最好的前进之路[序列化,对象,Redis]
- PHP序列化不工作
- 如何在node.js中反序列化PHP会话
- 每个输入都在表单提交PHP上序列化
- PHP反序列化Javascript序列化字符串
- JS反序列化PHP序列化的数组
- 在Javascript/Jquery中解码PHP序列化值
- 在Javascript/jQuery中解析PHP序列化数组