Php 在jqgrid中加载数据时出错

Php 在jqgrid中加载数据时出错,php,jquery,html,jqgrid,Php,Jquery,Html,Jqgrid,我试图将php脚本的输出加载到jqgrid中,但是我可以看到没有数据的表 <div id='Results'> <div id= 'abcd' style="display:block";> <?php include("simple.php");?> </div> <script type="text/javascript"> jQuery(function($) { var data= $('#abcd').text(); va

我试图将php脚本的输出加载到jqgrid中,但是我可以看到没有数据的表

<div id='Results'>
<div id= 'abcd' style="display:block";>
<?php include("simple.php");?> 
</div>
<script type="text/javascript">
jQuery(function($) {
var data=  $('#abcd').text();
var data1= data.replace(/\"/ig,'\"');
var data1= data1.replace(/[\“\”\″]/ig,'\"');
jQuery("#tableid").jqGrid({
dataType: "json",
data:data1,
colNames:['snp_id','chr','start_pos','end_pos','class','refbase','variantbase'],
colModel:[
  {name:'snp_id',index:'snp_id', width:50},
  {name:'chr',index:'chr', width:50},
  {name:'start_pos',index:'start_pos', width:60},
  {name:'end_pos',index:'end_pos', width:75},
  {name:'class',index:'class', width:75, align:"right" },
  {name:'refbase',index:'refbase', width:75},
  {name:'variantbase',index:'variantbase', width:150}
],
pager: '#pager',
rowNum:100,
sortname: 'snp_id',
sortorder: "asc",
viewrecords: true,
gridview: true,
height: '100%',
width: '100%',
caption:"Title",
loadComplete: function(reload) {
  jQuery("#myGridID").trigger("reloadGrid");
}
});
});
</script> 

请尝试使用此代码。。。我不是100%,它会起作用:)

p.S>已更新。。如果它不起作用,试着调试你的问题。。使用控制台日志等搜索错误。。毫无错误地发现你的问题并不容易

<div id= 'abcd' style="display:block";>
<?php include("simple.php");?> 
</div>
<script type="text/javascript">
jQuery(function($) {
var data= $('#abcd').text();
data = jQuery.trim(data); // to remove all empty spaces else json parse may fail
data = jQuery.parseJson(data); // parsing string to json object/array
jQuery("#tableid").jqGrid({
    datatype: "local",
    colNames:['snp_id','chr','start_pos','end_pos','class','refbase','variantbase'],
    colModel:[
      {name:'snp_id',index:'snp_id', width:50},
      {name:'chr',index:'chr', width:50},
      {name:'start_pos',index:'start_pos', width:60},
      {name:'end_pos',index:'end_pos', width:75},
      {name:'class',index:'class', width:75, align:"right" },
      {name:'refbase',index:'refbase', width:75},
      {name:'variantbase',index:'variantbase', width:150}
    ],
    pager: '#pager',
    rowNum: data.rows.length,
    sortname: 'snp_id',
    sortorder: "asc",
    viewrecords: true,
    gridview: true,
    height: '100%',
    width: '100%',
    caption:"Title",
    loadComplete: function(reload) {
      jQuery("#myGridID").trigger("reloadGrid");
    }
});
var mydata = data.rows;
for(var i=0;i<=mydata.length;i++)
    jQuery("#tableid").jqGrid('addRowData',i+1,mydata[i]);
});
</script> 

jQuery(函数($){
变量数据=$('#abcd').text();
data=jQuery.trim(data);//要删除所有空格,否则json解析可能会失败
data=jQuery.parseJson(data);//将字符串解析为json对象/数组
jQuery(“#tableid”).jqGrid({
数据类型:“本地”,
colNames:['snp_id'、'chr'、'start_pos'、'end_pos'、'class'、'refbase'、'variantbase'],
colModel:[
{名称:'snp_id',索引:'snp_id',宽度:50},
{名称:'chr',索引:'chr',宽度:50},
{名称:'start_pos',索引:'start_pos',宽度:60},
{名称:'end_pos',索引:'end_pos',宽度:75},
{名称:'class',索引:'class',宽度:75,对齐:“right”},
{名称:'refbase',索引:'refbase',宽度:75},
{名称:'variantbase',索引:'variantbase',宽度:150}
],
寻呼机:“#寻呼机”,
rowNum:data.rows.length,
sortname:“snp_id”,
分拣员:“asc”,
viewrecords:是的,
gridview:没错,
高度:“100%”,
宽度:“100%”,
标题:“标题”,
loadComplete:功能(重新加载){
jQuery(“#myGridID”).trigger(“reloadGrid”);
}
});
var mydata=data.rows;

对于(var i=0;i我根据您的代码片段进行了一些演示,使用如下数据类型:

            datatype: 'jsonstring',
            datastr:data,

终于为我填充了网格。我在这里找到了解决方案。我没有看到任何错误,但表是空的。没有更改…仍然是添加console.log(数据)的相同方法;在javascript的开始处,在var data=行之后,查看其解析是否正确JSON..ya其解析是否正确。我可以在firebug控制台中看到JSON格式的数据。对象{total=1,page=1,records=11,更多…}“它会创建空行。数据仍然没有加载可能的不同之处在于,我将PHP部分全部剥离。我只是将一个经过JSONLint验证的json字符串添加到div中,并将其读取到数据变量中。也许您可以尝试将PHP的输出粘贴到div中,然后从那里读取,看看是否有效。”。
            datatype: 'jsonstring',
            datastr:data,