0

我在 php 中遇到了 jqgrid 的问题,首先我应该说,我的 localhost 中的每件事都正常,一切正常,但是在我的服务器中它没有 jqgrid 不显示数据,我检查了 php 文件和 js 文件,js 发送数据到php,然后php选择我需要的数据正确,但是发生了一些事情,php文件没有错误,并正确填写$response,然后echo json_encode($response);.....我猜问题出在这里,当php文件想要将数据发送到脚本时......我真的不知道......请帮助我......js文件有代码:

    <script type='text/javascript'>
        jQuery('document').ready(function() {
            var id = $userId;
            jQuery('#users').jqGrid({
                url:'../includes/ProductHistory/process.php?id='+id,
                datatype: 'json',
                mtype: 'GET',
                direction:'rtl',
                height: 'auto',
                width: '530',
                colNames:['pic ','pname','pdate', 'price'],
                colModel:[
                 {name:'file_url',index:'file_url', width:40 , sortable:false , search:false , edittype: 'image', formatter: imageFormatter},
                 {name:'product_name',index:'product_name', width:65},
                 {name:'created_on',index:'created_on', width:70 ,search:false},
                 {name:'product_final_price',index:'product_final_price', width:60 , sorttype:'number'}
                ],
                rowNum:10,
                rowTotal: 2000,
                rowList : [10,20,30,50],
                rownumbers: true,
                rownumWidth: 15,
                gridview: true,
                pager: '#usersPage',
                sortname: 'created_on',
                viewrecords: true,
                sortorder: 'desc',
                caption: 'products'   
            });


            jQuery('#users').jqGrid('navGrid','#usersPage',
                {
                    edit:false,add:false,del:false,search:false,refresh:true
                },
                {}, // edit options
                {}, // add options
                {}, //del options
                {} // search options
                );
            jQuery('#users').jqGrid('filterToolbar',{stringResult: true,searchOnEnter : false});


        });
        function imageFormatter(cellvalue, options, rowObject) {

        return '<img src= ../' + cellvalue + ' height=80 width=80 />';

        };

    </script>

这是php文件:

while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$response->rows[$i]['product_name']   = $row['product_name'];   
$response->rows[$i]['cell'] = array($row['file_url'],$row['product_name'],$row['created_on'],$row['product_final_price']);
$i++;}
 echo json_encode($response);    

我检查了 sql 查询,我用 fwrite 复制到一个 txt 文件中,它工作正常......但我不知道为什么 jqgrid 不显示任何内容,它显示列和名称,但它不支持单元格...... .......请帮助我......我真的不知道我应该做什么......

4

1 回答 1

0

我几乎可以肯定这是 url 值不正确。url 通过 Ajax 调用返回 JSON 数据。过去调试并不容易......直到有Firebug。

在 Firefox 中使用 Firebug(按 F12)并单击“控制台”选项卡,然后刷新您的页面。查看 Console 中返回的数据。如果它不是有效的 JSON 或 404 错误,那么您知道下一步该做什么。

我只知道如何在 Firefox 中执行此操作,在 Google Chrome 或 IE Developer Toolbar 中找不到等价物。希望这可以帮助。

于 2012-12-26T22:19:21.983 回答