0

我有一个组合框,我想从 php 服务器获取数据
这是我的 Index.html 代码http://jsfiddle.net/UQcgA/

这是我的 data.php 文件。
但是当我点击组合时,什么都没有显示:(。我该如何解决这个问题谢谢

<?php
// function to create json
function GetCategories() {
    $categories = "{'rows':[";
    $categories = "{'id':'1', 'name':'Category 1'},";
    $categories .= "{'id':'2', 'name':'Category 2'},";
    $categories .= "{'id':'3', 'name':'Category 3'}";
    $categories .= "]}";
    return $categories;
}
echo GetCategories(); // sent to client
?>
4

1 回答 1

0

主要问题在于您的商店定义。您正在使用 ExtJS 3 的定义。这是在 ExtJS 4.1 中定义存储的正确方法:

        var values = new Ext.data.Store({
            fields: [
                {name: 'id', type: 'integer'},
                {name: 'name', type: 'string'}
            ],
            proxy: new Ext.data.HttpProxy({
                url: 'data.php',
                reader: {
                    type: 'json',
                    root: 'rows'
                }
            }),
            autoLoad: true
        });

你的也有问题json data(你在第二行也缺少一个句号)。这将起作用:

// function to create json
function GetCategories() {
    $categories = '{"rows": [';
    $categories .= '{"id": "1", "name": "Category 1"},';
    $categories .= '{"id": "2", "name": "Category 2"},';
    $categories .= '{"id": "3", "name": "Category 3"}';
    $categories .= "]}";
    return $categories;
}
echo GetCategories(); // sent to client
?>

注意:json_encode使用查看此答案构建 JSON 字符串始终是最佳实践。

于 2013-07-08T16:58:40.067 回答