Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 未将Ajax json数据加载到数据存储中_Extjs - Fatal编程技术网

Extjs 未将Ajax json数据加载到数据存储中

Extjs 未将Ajax json数据加载到数据存储中,extjs,Extjs,当我在数据存储中有一个“data:…raw json”的配置成员时,我的数据存储可以工作,但当我尝试通过ajax加载它时,它不工作 new Ext.data.Store({ model: "SearchResult", proxy: { type: "ajax", url : "test.php", extraParams : 'test', reader: {

当我在数据存储中有一个“data:…raw json”的配置成员时,我的数据存储可以工作,但当我尝试通过ajax加载它时,它不工作

 new Ext.data.Store({
        model: "SearchResult",
        proxy: {
            type: "ajax",
            url : "test.php",
            extraParams : 'test',
            reader: {
                type: "json",

            }
        },

    });
注意:test.php根据chrome进行调用并返回:

{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' },{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' },{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }

知道我做错了什么吗?

您是否在php中将数据编码为json? 像这样的echo json_encode($data); 要么是这样,要么是模型与响应完全不同

json格式如下所示

{'success':true,'values':[{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' },{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' },{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }]}


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

您是否在php中将数据编码为json? 像这样的echo json_encode($data); 要么是这样,要么是模型与响应完全不同

json格式如下所示

{'success':true,'values':[{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' },{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' },{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }]}


reader:{
                    type: 'json',
                    root: 'values',
                }
您的JSON需要一个“数据”包装器:

{"data":[... your JSON ...],"total":9999999,"success":true}
您的JSON需要一个“数据”包装器:

{"data":[... your JSON ...],"total":9999999,"success":true}
注意:test.php根据chrome调用并回显:
{股票: “汤米”,商店电话:“3535”,年份:“1984”,品牌:“法拉利”,装饰: “trim”,miles:'12345',storename:'branch name'},
{股票:'汤米', storePhone:'353535',年份:'1984',品牌:'Ferrari',装饰:'trim', 里程:'12345',店名:'branch name'},
{股票:'汤米', storePhone:'353535',年份:'1984',品牌:'Ferrari',装饰:'trim', miles:'12345',storename:'branch name'}

方括号在哪里?对于商店的配置,响应应该如下所示

// Notice the square brackets
[
  {stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }, 
  {stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }, 
  {stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }
]
注意:test.php根据chrome调用并回显:
{股票: “汤米”,商店电话:“3535”,年份:“1984”,品牌:“法拉利”,装饰: “trim”,miles:'12345',storename:'branch name'},
{股票:'汤米', storePhone:'353535',年份:'1984',品牌:'Ferrari',装饰:'trim', 里程:'12345',店名:'branch name'},
{股票:'汤米', storePhone:'353535',年份:'1984',品牌:'Ferrari',装饰:'trim', miles:'12345',storename:'branch name'}

方括号在哪里?对于商店的配置,响应应该如下所示

// Notice the square brackets
[
  {stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }, 
  {stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }, 
  {stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }
]

你能为你的模型提供代码吗?您是如何确定它不起作用的?是否抛出异常?尝试为您的存储注册一些异常处理程序。尝试在调试器中单步执行存储加载代码。我知道模型是正确的,因为当我使用'data:'配置参数手动将json数据放入数据存储时,一切都正常。我已经确定代码不起作用,因为数据应该加载到列表中,但它不会出现。我不太熟悉异常处理程序,chrome调试控制台中似乎没有出现错误。谢谢。你能为你的模型提供代码吗?您是如何确定它不起作用的?是否抛出异常?尝试为您的存储注册一些异常处理程序。尝试在调试器中单步执行存储加载代码。我知道模型是正确的,因为当我使用'data:'配置参数手动将json数据放入数据存储时,一切都正常。我已经确定代码不起作用,因为数据应该加载到列表中,但它不会出现。我不太熟悉异常处理程序,chrome调试控制台中似乎没有出现错误。谢谢。从中回传的数据是json格式的。我知道该模型是正确的,因为当我使用'data:'配置参数手动将json数据放入数据存储时,一切正常。从中回传的数据是json格式的。我知道这个模型是正确的,因为当我使用'data:'配置参数手动将json数据放入数据存储时,一切正常。不,他没有。他没有指定记录的
root
config。文档表示默认情况下将使用数据的自然根。根Json数组是,但他仍然需要[]括号。。。否则它就不会是jsonarray@nscrob当然我的意思是你只需要一个“数据”包装器。。任何一个答案都能解决他的问题。。我会嘲笑他们的,他不会。他没有指定记录的
root
config。文档表示默认情况下将使用数据的自然根。根Json数组是,但他仍然需要[]括号。。。否则它就不会是jsonarray@nscrob当然我的意思是你只需要一个“数据”包装器。。任何一个答案都能解决他的问题。。我会嘲笑他们的