【发布时间】:2011-10-13 13:35:21
【问题描述】:
我对 PHP 非常陌生,虽然我对 javascript 非常熟悉,但我现在正在学习如何使用庞大的 jqGrid 插件。我试图了解 jqGrid 如何序列化网格数据以及 PHP 如何解析这些数据。目前,我什至没有连接到 MySQL,但我只是试图将序列化的 jqGrid 数据回显为“假”结果。我的 PHP 文件头部有以下 js 代码:
<script type='text/javascript'>
$(function(){
$('#list').jgGrid({
url:'grid.php',
mtype:'POST',
colNames:['json'],
colModel:[{name:'j',index:'j',searchoptions:{sopt:['eq']},search:true}],
pager:'#pager',
rowNum:10,
viewrecords:true,
gridview:true,
serializeGridData:function(postData){
return postData;
}
})
});
</script>
然后我将此信息发送到我的“grid.php”文件,该文件包含以下代码:
<?php
$jason = $_POST['postData'];
$page = $jason->{'page'};
echo '<rows>';
echo '<page>1</page>';
echo '<total>1</total>';
echo '<records>1</records';
echo '<row id="1">';
echo '<cell>'.$page.'</cell>';
echo '</row>';
echo '</rows>';
?>
当我从 JS 中删除 serializegriddata 选项时,一切正常(我还添加了默认的 $_POST['page']、$_POST['rows']、$_POST['sidx']、$_POST[ 'sord'] 回到 PHP 中)。当我添加 serializegriddata 时,问题就出现了。
我正在寻找有关如何在客户端使用 postData 的任何示例(我需要添加到 serializegriddata 中的任何其他函数还是我可以只返回 postData)以及如何在 PHP 中正确解析它(如何到 $_POST 数据,然后如何解析和使用这些数据)。我知道这可能是一个非常简单的解决方案,但是我发现的所有内容都只是在谈论客户端,而对服务器端只字未提。提前致谢。
【问题讨论】: