3

こんにちは、jqgrid で問題が発生しています。jqgrid はローカルで xml ファイルをロードします (ローカルではすべて動作します) が、サーバーでは何もロードされません。インターネットで見つけたすべてのコードを試してみましたが、ロードされていない理由がわかりません。グリッド内のデータ、jqgrid は常に Loading... というメッセージを表示し、しばらく待ちますが、停止して何も読み込まれません。誰か助けてもらえますか?? ローカルでは動作しますが、サーバー acugis では動作しません。助けてください

これは私のコードです:

$("#listaRedCuidadana").jqGrid({
            treeGrid: true,
            treeGridModel : 'adjacency',
            ExpandColumn : 'distrito',
            url: '../../red_ciudadana/controller/controllerMostrarRedCuidadana.php',
            treeReader: {
                level_field: 'level',
                parent_id_field: 'parent_id',
                leaf_field: 'isLeaf',
                expanded_field: 'expanded'
            },
            datatype: "xml",
            mtype: "POST",
            colNames:["id_ciudadano","Distrito","Seccion","Rol","Clave Electoral","Nombre","Apellido Paterno","Apellido Materno"],
            colModel:[
                 {name:'id_ciudadano',index:'id_ciudadano', width:1,hidden:true,key:true},
                 {name:'distrito',index:'distrito',align:"left"},
                 {name:'seccion',index:'seccion', width:60,align:"center"},
                 {name:'rol',index:'rol', width:150,align:"left"},
                 {name:'clave_electoral',index:'clave_electoral', width:150,align:"center"},
                 {name:'nombre',index:'nombre', width:100,align:"left"},
                 {name:'apaterno',index:'apaterno', width:100,align:"left"},
                 {name:'amaterno',index:'amaterno', width:100,align:"left"}
            ],
            width:'916',
            /*autowidth:true,*/
            height:'auto', 
            pager: '#pager',
            caption:"COORDINADORES DISTRITALES",
            onSelectRow: function(id){
                var clv=$('#listaRedCuidadana').jqGrid('getCell',id,4);
                mostrarDetallesCuidadano(clv);
                initMapa();

            }
        });
        $("#listaRedCuidadana").jqGrid('navGrid',"#pager",{edit:false,add:false,del:false});

そして私の.phpファイル

<?php
require_once '../../sesion/model/clsSesion.php';
require_once '../../red_ciudadana/model/modelRedCuidadana.php';

if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") ) {
        header("Content-type: application/xhtml+xml;charset=utf-8"); } else {
        header("Content-type: text/xml;charset=utf-8");
}
if(isset($_REQUEST['nodeid'])==FALSE) {
    $node =0;
}
else{
    $node = (integer)$_REQUEST["nodeid"];
}
$clsJqGrid = new redCuidadana();
$et = ">";
echo "<?xml version='1.0' encoding='utf-8'?$et\n";
echo "<rows>";
echo "<page>1</page>";
echo "<total>1</total>";
echo "<records>1</records>";

if($node >0) { //check to see which node to load
   $wh = 'parent_id='.$node; // parents
   //$n_lvl = $n_lvl+1; // we should ouput next level
} else {
   //$wh = 'ISNULL(parent_id)'; 
   $wh ='parent_id=0';// roots
}
$mostrarRegistros= $clsJqGrid->mostrarRegistros($wh);
foreach ($mostrarRegistros as $row){
   echo "<row>";         
   echo "<cell>".$row["id_ciudadano"]."</cell>";
   echo "<cell>".$row["distrito"]."</cell>";
   echo "<cell>".$row["seccion"]."</cell>";
   echo "<cell>".$row["rol"]."</cell>";
   echo "<cell>".$row["clave_electoral"]."</cell>";
   echo "<cell>".$row["nombre"]."</cell>";
   echo "<cell>".$row["apaterno"]."</cell>";
   echo "<cell>".$row["amaterno"]."</cell>";
   echo "<cell>".$row["level"]."</cell>";
   echo "<cell><![CDATA[".$row["parent_id"]."]]></cell>";
   if($row["level"] == "2"){echo "<cell>"."true"."</cell>";}
   else{echo "<cell>".$row["isLeaf"]."</cell>";}
   echo "<cell>".$row["expanded"]."</cell>";
   echo "</row>";
}
echo "</rows>";
?>
4

1 に答える 1

1

1.ロジックを実行せずにサンプル xml を php から単純にエコーし、JS スクリプトで受信されるかどうかを確認します。

2.前述のとおり、ブラウザで PHP スクリプトに直接アクセスして、有効な結果が返されるかどうかを確認します。

3. chrome でコードをデバッグしてみてください (ff:firebug だけでなく)。これらはどちらも優れたツールであり、ff が見逃したものを chrome で表示できる場合があります (その逆も同様です)。

これらの手順は、問題を切り分けて見つけるのに役立ちます。上記のすべての項目をチェックしても問題が解決しない場合は、トピックに結果を記入してください。

乾杯と幸運;)

于 2012-08-13T22:51:36.457 に答える