Extjs 未将Ajax json数据加载到数据存储中
当我在数据存储中有一个“data:…raw json”的配置成员时,我的数据存储可以工作,但当我尝试通过ajax加载它时,它不工作Extjs 未将Ajax json数据加载到数据存储中,extjs,Extjs,当我在数据存储中有一个“data:…raw json”的配置成员时,我的数据存储可以工作,但当我尝试通过ajax加载它时,它不工作 new Ext.data.Store({ model: "SearchResult", proxy: { type: "ajax", url : "test.php", extraParams : 'test', reader: {
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当然我的意思是你只需要一个“数据”包装器。。任何一个答案都能解决他的问题。。我会嘲笑他们的