
[英]ExtJs 4.1 : How to send json data in the request body using Ext.Ajax.request()?
[英]ExtJs - How to load json file using extjs with the Ext.Ajax.request method?
我希望使用extjs加载json文件。 以前我是在jquery库的帮助下加载json文件的,如下所示:
Ext.define('app.store.Students', {
extend: 'Ext.data.Store',
model: 'app.model.Student',
storeId: 'StudentData',
autoLoad: true,
proxy: {
type: 'ajax',
url: 'data/users.json',
success: function(resp) {
console.log(resp.responseText);
},
reader: {
type: 'json',
root: 'student1',
model: 'app.model.Student',
successProperty: 'success'
}
}
});
但是现在我想使用ExtJs加载json文件。 我尝试了以下代码:
Ext.define('app.store.Students', {
extend: 'Ext.data.Store',
model: 'app.model.Student',
storeId: 'StudentData',
autoLoad: true,
});
Ext.Ajax.request({
url: 'data/users.json',
//method: 'GET',
success: function(response){
var text = response.responseText;
alert('1')
console.log(this.url);
// process server response here
}
});
但显示“未捕获的TypeError:无法调用未定义的方法'indexOf'”。 在Firebug中检查时,以下给出的url在ext-all-debug.js中未定义。
urlAppend : function(url, string) {
if (!Ext.isEmpty(string)) {
return url + (url.indexOf('?') === -1 ? '?' : '&') + string;
}
return url;
},
我试图按上面Ext.Ajax.request方法中给出的那样来管理url,它说url是未定义的。 我要去哪里错了?
仅供参考:这是我的文件结构:
-html file
-data folder - users.json
-app folder - store folder - js file (This is where I use my Ext.Ajax.request method)
我在相对路径上走错了吗? 如果是这样,我应该如何使用它?
如果未指定数据,并且autoLoad为true或Object,则在创建后会自动调用此商店的load方法。将autoLoad设置为false或使用ajax和reader类型的代理 ,然后使用回调函数来处理json数据。
更新:试试这个
Ext.define('app.store.Students', {
extend: 'Ext.data.Store',
model: 'app.model.Student',
storeId: 'StudentData',
autoLoad: true,
proxy: {
type: 'ajax',
url: 'app/data/users.json',
reader:{
type: 'json',
root: 'student1'//If you are using student1 as root.
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.