私は非常にPHPに新しいので、私はかなりjavascriptに精通していますが、今大規模なjqGridプラグインを使用する方法を学んでいます。 jqGridがグリッドデータをどのようにシリアル化するのか、そしてPHPがこのデータをどのように解析するのかを理解しようとしています。現在、私はMySQLにも接続していませんが、シリアル化されたjqGridデータを "偽の"結果としてエコーしようとしています。jqGrid serializegriddata 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>';
?>
:私は、次のコードを持っている私の「grid.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>
:私は私のPHPファイルの先頭にjsのための次のコードを持っています私はJSからserializegriddataオプションを削除して、すべて正常に動作します(また、デフォルトの$ _POST ['page']、$ _POST ['rows']、$ _POST ['sidx']、$ _POST ['sord'] PHPに戻って)。 serializegriddataを追加すると問題が発生します。
クライアント側でpostDataを使用する方法の例を探しています(serializegriddataに追加する必要がある他の関数、またはpostDataを返すことができます)。これをPHPで正しく解析する方法どのようにデータを$ _POSTするか、そしてこのデータを解析して使用する方法)。私はこれがおそらく非常に単純な解決策であることを知っていますが、私が見つけたものはすべてクライアントについて語り、サーバー側については何も言わないだけです。前もって感謝します。
私はすでにその例を見てきました。 $ _GETを使用してクライアント側から情報を取得します。私の例は非常にシンプルでしたが、私は複数の検索基準を使用する必要があるため、クライアント側からデータをシリアル化する必要があります。 1回の検索では、$ _GET ['sField']、$ _GET ['sValue']、$ _GET ['sOper']を使用できます。しかし、複数の検索基準については、postDataを使用してこのJSON文字列をPHPで解析する必要があります。どのように複数の検索のための各基準が 'postData'に含まれていることを確認したら、PHPでJSON文字列 'postData'を解析するのですか? – Michael