Extjs Ajax数据仍然没有加载到数据存储中
我在周末前问了这个问题,尽管我听从了建议,但我还是被卡住了。这次我将发布所有相关的代码,希望有人能帮助我找到这个底部 重要注意事项:当我使用存储区的data:[{json data}]参数静态地将数据输入数据存储区时,数据存储区和模型可以完美地工作。但是使用ajax代理无法实现这一点(尽管我可以在chrome中看到test.php被调用并回显json数据(参见下面的test.php) 这是我的商店:Extjs Ajax数据仍然没有加载到数据存储中,extjs,sencha-touch,Extjs,Sencha Touch,我在周末前问了这个问题,尽管我听从了建议,但我还是被卡住了。这次我将发布所有相关的代码,希望有人能帮助我找到这个底部 重要注意事项:当我使用存储区的data:[{json data}]参数静态地将数据输入数据存储区时,数据存储区和模型可以完美地工作。但是使用ajax代理无法实现这一点(尽管我可以在chrome中看到test.php被调用并回显json数据(参见下面的test.php) 这是我的商店: new Ext.data.Store({ model: "SearchResul
new Ext.data.Store({
model: "SearchResult",
proxy: {
type: "ajax",
url : "test.php",
extraParams : 'test',
reader: {
type: "json",
}
},
});
当通过处理程序单击按钮时,我加载它
下面是test.php中的内容:
<?php
echo "[{stock: 'Tommy', storePhone: '353535', year: '1984', make: 'Ferrari', trim: 'trim', miles: '12345', storename: 'branch name' }]";
?>
仅回显类似于json的字符串是不够的……您应该使用php方法对其进行编码……例如
<?php
$data = array(array('stock'=> 'Tommy', 'storePhone'=> 353535, 'year'=> '1984', 'make'=> 'Ferrari', 'trim'=> 'trim', 'miles'=> '12345', 'storename'=> 'branch name' ));
echo json_encode($data);
?>
仅回显类似于json的字符串是不够的……您应该使用php方法对其进行编码……例如
<?php
$data = array(array('stock'=> 'Tommy', 'storePhone'=> 353535, 'year'=> '1984', 'make'=> 'Ferrari', 'trim'=> 'trim', 'miles'=> '12345', 'storename'=> 'branch name' ));
echo json_encode($data);
?>
您需要提供一个“success:true”属性,并将数据放入JSON响应中的根属性中
然后应该将root属性添加到阅读器的配置中
{
"success": true,
"rows": [
{
"stock": "Tommy",
"storePhone": "353535",
"year": "1984",
"make": "Ferrari",
"trim": "trim",
"miles": "12345",
"storename": "branchname"
}
]
}
您的店铺:
new Ext.data.Store({
model: "SearchResult",
proxy: {
type: "ajax",
url : "test.php",
extraParams : 'test',
reader: {
type: "json",
root: 'rows'
}
},
});
您需要提供一个“success:true”属性,并将数据放入JSON响应中的根属性中
然后应该将root属性添加到阅读器的配置中
{
"success": true,
"rows": [
{
"stock": "Tommy",
"storePhone": "353535",
"year": "1984",
"make": "Ferrari",
"trim": "trim",
"miles": "12345",
"storename": "branchname"
}
]
}
您的店铺:
new Ext.data.Store({
model: "SearchResult",
proxy: {
type: "ajax",
url : "test.php",
extraParams : 'test',
reader: {
type: "json",
root: 'rows'
}
},
});
这就解决了问题
store.proxy.url='loader.php?user='+var_;
store.load();
这就解决了这个问题
store.proxy.url='loader.php?user='+var_;
store.load();
不一定,…你不需要提供一个成功:是的,但这样做是一个好的设计,要知道操作何时成功…不一定,…你不需要提供一个成功:是的,但这样做是一个好的设计,要知道操作何时成功。。。