Extjs4 使用store的post方法
Extjs4 使用store的post方法
引用官网的一句话
Now when we call store.load(), the AjaxProxy springs into action, making a request to the url we configured ('users.json' in this case). As we're performing a read, it sends a GET request to that url (see actionMethods to customize this - by default any kind of read will be sent as a GET request and any kind of write will be sent as a POST request).
我们点进去看看它源码:
Ext.define('Ext.data.proxy.Ajax', {
requires: ['Ext.Ajax'],
extend: 'Ext.data.proxy.Server',
alias: 'proxy.ajax',
alternateClassName: ['Ext.data.HttpProxy', 'Ext.data.AjaxProxy'],
/**
* @property {Object} actionMethods
* Mapping of action name to HTTP request method. In the basic AjaxProxy these are set to 'GET' for 'read' actions
* and 'POST' for 'create', 'update' and 'destroy' actions. The {@link Ext.data.proxy.Rest} maps these to the
* correct RESTful methods.
*/
actionMethods: {
create : 'POST',
read : 'GET',
update : 'POST',
destroy: 'POST'
},
// Keep a default copy of the action methods here. Ideally could just null
// out actionMethods and just check if it exists & has a property, otherwise
// fallback to the default. But at the moment it's defined as a public property,
// so we need to be able to maintain the ability to modify/access it.
defaultActionMethods: {
create : 'POST',
read : 'GET',
update : 'POST',
destroy: 'POST'
},
... ... ...
}
到这里,我想你的思路也很清晰了.具体做法如下
1.覆盖 actionmathods 方法:
1.覆盖 actionmathods 方法:
Ext.define('Sencha.store.Users', {
extend: 'Ext.data.Store',
config: {
model: 'Sencha.model.Users',
autoLoad: true,
proxy: {
type: 'ajax',
actionMethods: {
create : 'POST',
read : 'POST', // by default GET
update : 'POST',
destroy: 'POST'
},
url: 'teams.json'
}
}
});
var mystore = Ext.create('Ext.data.Store', {
// 分页大小
pageSize : 20,
model : 'mydata',
storeId : 'mystore',
proxy : {
type : 'ajax',
actionMethods : {
create : 'POST',
read : 'POST', // by default GET
update : 'POST',
destroy : 'POST'
},
url : mj.basePath + 'service/user!datagrid.cy',
reader : {
root : 'leafData',
totalProperty : 'totalRows'
}
},
sorters : [ {
property : 'createTime', // 排序字段
direction : 'desc'// 默认ASC
} ]
})
2. 覆盖 defaultActionMethods 方法:
var mystore = Ext.create('Ext.data.Store', {
// 分页大小
pageSize : 20,
model : 'mydata',
storeId : 'mystore',
proxy : {
type : 'ajax',
defaultActionMethods : {
create : 'POST',
read : 'POST', // by default GET
update : 'POST',
destroy : 'POST'
},
url : mj.basePath + 'service/user!datagrid.cy',
reader : {
root : 'leafData',
totalProperty : 'totalRows'
}
}
3. or define your own proxy class
Ext.define('Sencha.data.PostAjax', {
extend: 'Ext.data.proxy.Ajax',
alias: 'proxy.postproxy', // must to get string reference
config: {
actionMethods: {
create : 'POST',
read : 'POST', // by default GET
update : 'POST',
destroy: 'POST'
},
}
}
Ext.define('Sencha.store.Teams', {
extend: 'Ext.data.Store',
config: {
model: 'Sencha.model.Team',
autoLoad: true,
proxy: {
type: 'ajaxpost'
url: 'teams.json'
}
}
});
参考资料: http://blog.csdn.net/henriezhang/article/details/8978919
Extjs4 使用store的post方法的更多相关文章
- Extjs4 关于Store的一些操作(转)
1.关于加载和回调的问题 ExtJs的Store在加载时候一般是延迟加载的,这时候Grid就会先出现一片空白,等加载完成后才出现数据:因此,我们需要给它添加一个提示信息! 但是Store却没有wait ...
- Extjs 动态修改gridPanel列头信息以及store数据的方法
1 /*******************************checkbox按钮 历史报警信息**************************************/ var check ...
- app上传到App Store的快捷方法及步骤
跳过证书的申请及配置概要文件的设置, 现在根据已有的配置概要文件及发布证书开始: 1.先在Xcode上的PROJECT和TARGETS->Build Setting->Code Signi ...
- EXTJS4自学手册——EXT基本方法、属性(mixins多继承、statics、require)
1.mixins 说明:类似于面向对象中的多继承 <script type="text/javascript"> Ext.onReady(function () {// ...
- iOS APP版本更新跳转到App Store下载/更新方法
使用下面的连接即可跳转到App Store itms-apps://itunes.apple.com/cn/app/id*********** 其中********* ...
- 【vue store的使用方法】(this.$store.state this.$store.getters this.$store.dispatch this.$store.commit)
vue 页面文件 <template> <div> {{this.$store.state.count}}<br/> {{count}}<br/> {{ ...
- windows上传ipa到苹果开发者中(app store)的方法
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开发者中心才能在构建版本里选择构建版本上架 ...
- App Store常用推广方法
转:http://www.cocoachina.com/bbs/read.php?tid-5000.html 天天潜水,在这里获益不少.不贡献一点似乎过意不去,所以在这里根据自己的经验谈谈基本的推广方 ...
- Extjs4中的store
Extjs 4引入新的数据包,其中新增了不少新类并对旧有的类作出了修整.使数据包更强大和更容易使用. 本章我们将学习一下内容: 2.1. 概述新特性 Extjs4的数据包引入了如Mod ...
随机推荐
- Part 89 to 91 Talking about pass the parameters in thread
Part 89 ParameterizedThreadStart delegate Use ParameterizedThreadStart delegate to pass data to th ...
- (转)Android之接口回调机制
开发中,接口回调是我们经常用到的. 接口回调的意思即,注册之后并不立马执行,而在某个时机触发执行. 举个例子: A有一个问题不会,他去问B,B暂时解决不出来,B说,等我(B)解决了再告诉你(A)此时A ...
- 用宏定义封装LoadLibrary,方便的动态加载dll
同学们动态加载dll的时候是不是感觉挺麻烦的,每次都::LoadLibrary,::GetProcAddress,还要typedef一堆函数.最近闲来无聊,用宏封装了一下,可以少写不少代码,用来也挺方 ...
- Ruby on Raisl应用(一):在Rails上配置Mongoid+Mongodb
一. 概述 最近考虑用ruby on rails 搭建一套Blog系统,前端考虑用Bootstrap,数据库用Mongodb.由于之前没有相关应用经验.先记录下整个项目过程. 现有资源: Mac 笔记 ...
- git 基本使用
简单几步操作让你在终端下用git实现文件的上传. 一.克隆项目 在工作中,常见的情景都是远程库已经建好了,需要大家把代码拉下来,共同协作开发.本文所有操作均在终端下进行. //克隆一个本地 ...
- js实现移动端无限加载分页
原理:当滚动条到达底部时,执行下一页内容. 判断条件需要理解三个概念: 1.scrollHeight 真实内容的高度 2.clientHeight 视窗的高度,即在浏览器中所能看到的内容的 ...
- java mail jar冲突
开发环境:jdk1.6.0_25 MyEclipse-8.6 J2EE5 程序编译通过,J2EE5的库里面已经含有javaee.jar文件.里面的javax.mail包下面是jav ...
- ASP.NET MVC强制返回XML
GlobalConfiguration.Configuration.Formatters.Remove(config.Formatters.JsonFormatter);
- js 字符串“123”,变成整数123,不用parseInt 函数
var s = "123"; console.log(s.charAt(0)*100+s.charAt(1)*10+s.charAt(2)*1);
- HTML5 Shiv – 让该死的IE系列支持HTML5吧
HTML5能为我们做的事儿很多,最为可口的就是语义化标签的应用,如果你已经在Chrome或者其他支持HTML5的浏览器上用过它的牛x,那这篇文章对你一定有用,因为现在你也可以在IE上用到HTML5. ...