0

私はphpでjqgridに問題があります、私が言わなければならないすべてのこと、私のローカルホストではすべて問題ありませんが、すべてうまくいきますが、私のサーバーではjqgridはデータを表示しません、私はphpファイルとjsファイルをチェックしました、jsは送信しますdata to php, and php select my need data right , しかし、何かが起こった.phpファイルにエラーがなく、$responseを正しく埋めてから、エコー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クエリをチェックし、txtファイルにfwriteでコピーしましたが、正常に動作します...しかし、jqgridが何も表示しない理由がわかりません.列と名前が表示されますが、セルは表示されません...... .......助けてください.....私は本当に何をすべきかわかりません....

4

1 に答える 1

0

URLの値が正しくないことはほぼ確実です。URL は、Ajax 呼び出しを介して JSON データを返します。過去にデバッグするのは簡単ではありませんでした... Firebug が登場するまでは。

Firefox では、Firebug (F12 キーを押す) を使用し、[コンソール] タブをクリックして、ページを更新します。コンソールに返されたデータを見てください。有効な JSON ではないか、404 エラーである場合は、次に何をすべきかがわかります。

私は Firefox でこれを行う方法しか知りません。Google Chrome または IE Developer Toolbar で同等のものを見つけることができません。お役に立てれば。

于 2012-12-26T22:19:21.983 に答える