3

您好,我的 jqgrid 有问题,我的 jqgrid 在本地加载一个 xml 文件(本地所有工作),但是在服务器中没有加载任何内容,我尝试了在互联网上找到的每个代码,但我不知道为什么它没有加载网格中的数据,jqgrid 总是显示一条消息,说正在加载......我等了一段时间,然后它停止并且没有加载任何东西,有人可以帮忙吗?在本地工作,但在服务器 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.尝试简单地从php中回显示例xml而不执行任何逻辑,看看它是否被JS脚本接收;

2.如前所述,尝试直接在浏览器中访问PHP脚本,看看它是否返回有效结果;

3.尝试在 chrome 中调试您的代码(不仅在 ff:firebug 中),这些都是很棒的工具,有时 chrome 可以显示 ff 错过了什么(反之亦然)。

这些步骤将帮助您隔离和发现问题。如果您检查了以上所有这些项目符号并且问题仍然存在 - 请在主题中提供结果,以便我们有机会帮助您。

干杯,祝你好运;)

于 2012-08-13T22:51:36.457 回答