Сетка Сенча + PHP + JSON


У меня проблема, и firebug не показывает мне никаких проблем:/

Мой funcions.js

/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

Ext.require([
    'Ext.grid.*',
    'Ext.data.*',
    'Ext.util.*',
    'Ext.state.*'
    ]);

Ext.onReady(function() {
    Ext.QuickTips.init();

    // setup the state provider, all state information will be saved to a cookie
    Ext.state.Manager.setProvider(Ext.create('Ext.state.CookieProvider'));

    var store = Ext.create('Ext.data.Store', {
        autoLoad: true,
        proxy: {
            type: 'ajax',
            url: 'src.php'
        }
    });
    var grid = Ext.create('Ext.grid.Panel', {
        store: store,
        stateful: true,
        collapsible: true,
        multiSelect: true,
        stateId: 'stateGrid',
        columns: [
        {
            text     : 'Nombre Chofer',
            flex     : 1,
            sortable : false,
            dataIndex: 'nombre_chofer'
        }
        ],
        height: 350,
        width: 600,
        title: 'Array Grid',
        renderTo: 'grid-example',
        viewConfig: {
            stripeRows: true,
            enableTextSelection: true
        }
    });
});

Мой src.php (АЯКС)

<?php

include_once 'funciones/header_server.php';
include_once 'model/ChoferModel.php';

function getList() {
    $choferModel = new ChoferModel();
    $resultQuery = $choferModel->getTable();
    $conteo = count($resultQuery) - 1;
    $resultQuery = (array) $resultQuery;

    if ($conteo > 0) {
        foreach ($resultQuery as $chofer) {
            $rec['nombre_chofer'] = $chofer['NOMBRE_CHOFER'];
            $arr[] = $rec;
        }
        $jsonresult = JEncode($arr);
        echo $jsonresult;
    }
}

getList();

И мой index.php

<?php
//include_once 'funciones/header_server.php';
//include_once 'model/ChoferModel.php';
?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Sistema para control de viaticos - COPRA</title>
        <link rel="stylesheet" type="text/css" href="script/ext-all.css" />
        <script type="text/javascript" charset="utf-8" src="script/ext-all-dev.js"></script>
        <script type="text/javascript" charset="utf-8" src="script/ext.js"></script>
        <script src="script/funcions.js"></script>
    </head>
    <body>
        <div id="grid-example" name="grid-example"></div>
    </body>
</html>

Мой вывод черный, не показывайте таблицу или сетку... пожалуйста, помогите мне..

Скриншоты: вывод src: http://i.stack.imgur.com/zLMgz.png

Author: JoseDx20, 2012-05-12

3 answers

Просто определите свою собственную модель и используйте ее в настройках прокси-сервера ajax.

Смотрите рабочий пример вашего кода.

 1
Author: o_nix, 2012-05-12 11:19:45

Поместите конфигурацию прокси-сервера в модель в хранилище. это сработало для меня в моем приложении.

Вот как я настраиваю свою модель:

proxy: {

type: 'ajax',
api: {
    read: 'scripts/receive.php',
    create: 'scripts/create.php?action=create',
    update: 'scripts/create.php?action=update',
    destroy:'scripts/destroy.php?action=destroy'
},

reader: {
    type: 'json',
    root: 'groups'
},

 0
Author: Hataru, 2012-05-13 07:20:17

Возможно, вы должны задать ответ в своем php как json. Добавьте это в свой php

header("HTTP/1.1 200 OK");
header("Content-Type: application/json");
 0
Author: David, 2014-12-15 18:47:03