jqgrid没有在服务器acugis中加载数据,但在本地所有工作都很完美

时间:2012-07-12 21:41:27

标签: javascript xml jqgrid

您好我的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>";
?>

1 个答案:

答案 0 :(得分:1)

1。尝试简单地从php回显样本xml而不执行任何逻辑,看看它是否被JS脚本接收;

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

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

这些步骤将帮助您隔离并发现问题。如果您上面检查过所有这些子弹并且问题仍然存在 - 在主题中提供结果,那么我们将有机会帮助您。

干杯,祝你好运;)