惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
月光博客
月光博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 聂微东
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
美团技术团队
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
Jina AI
Jina AI
D
Docker
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog

博客园 - fredli2005

全栈 2014年价值观察股票 突破45日线后,第一目标14.41(待验证) 【转】从开发者的角度看待各移动平台 ios/android/wp7/win8ost title 放弃移动版Flash而非AIR 从软件巨头发展看清未来的方向 通达信5分钟数据整理 看文章《EAI和SOA的比较》有感(1) el.ownerDocument.createRange Error - fredli2005 - 博客园 Aop的一些资料 .net工具集 Log4net查看器 - fredli2005 - 博客园 w3wp意外终止 概念数据模型,逻辑数据模型,物理数据模型(转) 快速命令行 powerdesigner15 与vs2008的冲突(解决篇) 在win server 2008中配置stockTrader postSharp 学习一 关于text-overflow(一种省略文字的方式)
Ext.data.PageMethodHttpProxy
fredli2005 · 2009-10-04 · via 博客园 - fredli2005

这个类是自动完成对AspNet [System.Web.Services.WebMethod]方法的调用。该方法适合ie,chrome,firefox

/*Ext.data.PageMethodHttpProxy*/
Ext.data.PageMethodHttpProxy = function(method, params, otherConfig) {
var A = { method: 'POST',
timeout: EnjoyWork.AjaxCallTimeOut,
headers: { 'Content-Type': 'application/json;charset=utf-8' }
};
Ext.data.PageMethodHttpProxy.superclass.constructor.call(this, A);
this.pageMethod = method;
this.pageUrl = location.href.split("?")[0];
this.conn = A;
var tempApi = new Object();
if (method != null) {
this.conn.url = this.pageUrl + '/' + method;
tempApi.read = { url: this.conn.url };
}
else {
this.conn.url = null;
}
/*改造传入的API*/
if (otherConfig != null) {
for (var item in otherConfig) {
var old = eval("otherConfig." + item);
old = this.pageUrl + "/" + old;
eval("otherConfig." + item + "='" + old + "'");
}
//应用tempApi没有设置的
Ext.applyIf(tempApi, otherConfig);
}
this.setApi(tempApi);
this.useAjax = !this.conn || !this.conn.events;
this.on("beforeload", function(o, p) {
Ext.applyIf(p, params);
//以下是对传入的参数进行改造
var newObject = new Object();
Ext.apply(newObject, p);
for (var i in p) {
eval("delete p." + i);
}
p["isJson"] = true;
p["jsonData"] = newObject;
}, this);
};
Ext.extend(Ext.data.PageMethodHttpProxy,Ext.data.HttpProxy);
 
同时需要修改Ext-all.js 查找typeof (params[reader.meta.root]
修改判断条件为

if (typeof (params[reader.meta.root]) === 'object' ||
(params["isJson"] == true && params["jsonData"] != null)) {
            o.jsonData = params["jsonData"];
        } else {
            o.params = params || {};
        }