JSON存储可以't加载PHP数据-EXTJS 4
JSON Store can't load PHP data - EXTJS 4
Ext.define('GoogleMarkerModel', {
extend: 'Ext.data.Model',
fields: [
{name: 'ID', type: 'int'},
{name: 'Locating', type: 'int'},
{name: 'MainPower', type: 'int'},
{name: 'Acc', type: 'int'},
{name: 'PowerOff', type: 'int'},
{name: 'Alarm', type: 'int'},
{name: 'Speed', type: 'int'},
{name: 'Direction', type: 'int'},
{name: 'Latitude', type: 'float'},
{name: 'Longitude', type: 'float'},
{name: 'DateTime', type: 'date'},
{name: 'MainID', type: 'int'},
{name: 'IOState', type: 'int'},
{name: 'OilState', type: 'int'}]
});
var MarkerStore = Ext.create('Ext.data.JsonStore', {
model: 'GoogleMarkerModel',
autoLoad: true,
proxy: {
type: 'ajax',
url: 'get-googlemarker.php',
baseParams: { //here you can define params you want to be sent on each request from this store
mainid: 'value1'
},
reader: {
type: 'json',
idProperty:'MainID',
}
}
});
这段代码我用来调用MarkerStore,并传递值为1的参数mainid
MarkerStore.load({
params: { //here you can define params on 'per request' basis
mainid: 1,
}
})
当我使用web浏览器获取-googlemarker.php,并且mainid=1将返回这些值时
http://localhost/GPS/examples/tabs/get-googlemarker.php?mainid=1
[{"ID":"1808","Locating":"1","MainPower":"0","Acc":"1","PowerOff":"1","Alarm":"128","Speed":"0","Direction":"293","Latitude":"5.391788482666016","Longitude":"100.29693603515625","DateTime":"2013-02-19 15:44:36","MainID":"1","IOState":"0","OilState":"0"}]
但我试图列出所有数据,不幸的是JSON存储为空,我怀疑数据没有存储在MarkerStore中,下面的代码是我试图列出数据,但没有写在控制台FireBug上。
MarkerStore.each( function (model) {
console.log( model.get('MainID') );
});
知道吗?
尝试从存储中删除autoload = true
属性。
MarkerStore.on('load', function(store, records) {
for (var i = 0; i < records.length; i++) {
console.log(records[i].get('Latitude'));
lati = records[i].get('Latitude');
};
});
应使用此代码,然后将数据打印到控制台上。上面的问题打印存储数据代码是错误的,实际上数据成功保存在JSON存储
您的代码可以工作,但主要问题是当您调用MarkerStore.each时,存储此时为空(Ajax是异步的(。您的脚本与处理数据的ajax一样快。如果您使用以下简单的代码片段,您将看到您的"mainID"。
setTimeout(function(){
MarkerStore.each( function (model) {
console.log( model.get('MainID') );
});
}, 1500, MarkerStore);
相关文章:
- Javascript/Jquery/PHP加载页面-如何
- 使用jQuery和PHP加载区域设置变量
- 使用JS和PHP加载效果
- jQuery倒计时-应用于通过AJAX/PHP加载的新元素
- 通过php加载javascript,使其不会;t在源中直接可见
- 使用PHP加载基于用户名的不同视图
- Highcharts - 无法使用 JSON / 无 PHP 加载外部数据
- 如何通过PHP加载外部文件
- 使用 PHP 加载 CSS(可能还有 JS)
- 使用 jquery 和 php 加载更多内容
- 在javascript之后从php加载的动态图像需要运行
- 如何使用带有参数的 ajax-php 加载数据
- 如何使用php加载javascript内容
- JQuery UI在通过php加载时未检测到CSS样式
- 将事件处理程序附加到通过PHP加载的下拉选项html
- 或者,如果ajax失败,则通过php加载页面
- AJAX/Jquery/PHP-加载依赖于锚点/哈希标记的页面
- JavaScript未在PHP加载的HTML上运行
- 提交表单时从php加载动态内容
- 显示'不再发布帖子'当使用ajax php加载所有帖子时