我对PHP非常新,虽然我对JavaScript非常熟悉,但我正在学习如何使用大量的jqGrid插件。我想了解jqGrid如何序列化网格数据以及PHP如何分析这些数据。目前,我甚至没有连接到MySQL,但我只是试图将序列化的jqGrid数据回显为“假”结果。我对JS下面的代码在我的PHP文件的头:jqGrid serializegriddata解析在PHP中
<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数据,然后如何解析和使用这些数据)。我知道这可能是一个非常简单的解决方案,但我发现的一切都只是谈论客户端,并没有提到服务器端。提前致谢。
我已经看过这个例子。它使用$ _GET从客户端检索信息。虽然我的例子非常简单,但我需要序列化来自客户端的数据,因为我需要使用多个搜索条件。对于单个搜索,我可以使用$ _GET ['sField'],$ _GET ['sValue']和$ _GET ['Oper']。但是,对于多个搜索条件,我将需要使用postData并在PHP中解析此JSON字符串。如何确保多重搜索的每个条件都包含在'postData'中,然后如何解析PHP中的JSON字符串'postData'。 – Michael