ExtJs ajax调用汇总
来源:互联网 发布:一战起因知乎 编辑:程序博客网 时间:2024/05/19 14:51
//异步ajax调用/** * 异步调用ajax,成功后返回值,作为回调函数的参数 调用失败会提示 * * @param {} * urlStr * @param {} * paramsObj * @param {} * callbackFunc */function ajaxCall(urlStr, paramsObj, callbackFunc) {Ext.Ajax.request({url : urlStr,params : paramsObj,method : 'POST',success : function(response) {if (callbackFunc) {var result = Ext.util.JSON.decode(response.responseText);var cbfn = callbackFunc.createCallback(result);cbfn();}},failure : function() {Ext.Msg.alert("提示", "方法调用失败");}});}
/** *通用JS 同步ajax调用 返回json Object * * @param {} * urlStr * @param {} * paramsStr 为字符串键值对形式“key=value&key2=value2” * @return {} 返回json Object */function ajaxSyncCall(urlStr, paramsStr) {var obj;var value;if (window.ActiveXObject) {obj = new ActiveXObject('Microsoft.XMLHTTP');} else if (window.XMLHttpRequest) {obj = new XMLHttpRequest();}obj.open('POST', urlStr, false);obj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');obj.send(paramsStr);var result = Ext.util.JSON.decode(obj.responseText);return result;}
//EXTJS 同步ajax调用var conn = Ext.lib.Ajax.getConnectionObject().conn;conn.open("GET", 'your url',false);conn.send(null);alert(conn.responseText);
EXTJS 修改Ext.Ajax.request真正的请求方法Ext.lib.Ajax.request ,通过sync:true实现同步调用ajax
Ext.lib.Ajax.request = function(method, uri, cb, data, options) { if(options){ var hs = options.headers; if(hs){ for(var h in hs){ if(hs.hasOwnProperty(h)){ this.initHeader(h, hs[h], false); } } } if(options.xmlData){ if (!hs || !hs['Content-Type']){ this.initHeader('Content-Type', 'text/xml', false); } method = (method ? method : (options.method ? options.method : 'POST')); data = options.xmlData; }else if(options.jsonData){ if (!hs || !hs['Content-Type']){ this.initHeader('Content-Type', 'application/json', false); } method = (method ? method : (options.method ? options.method : 'POST')); data = typeof options.jsonData == 'object' ? Ext.encode(options.jsonData) : options.jsonData; } }
return this["sync" in options ? "syncRequest" : "asyncRequest"](method, uri, cb, data);//这句制定调用的方法,如果sync传递了就调用syncRequest, 否则调用原来的方法asyncRequest};
Ext.lib.Ajax.syncRequest = function(method, uri, callback, postData) { var o = this.getConnectionObject(); if (!o) { return null; } else { o.conn.open(method, uri, false); if (this.useDefaultXhrHeader) { if (!this.defaultHeaders['X-Requested-With']) { this.initHeader('X-Requested-With', this.defaultXhrHeader, true); } } if(postData && this.useDefaultHeader && (!this.hasHeaders || !this.headers['Content-Type'])){ this.initHeader('Content-Type', this.defaultPostHeader); } if (this.hasDefaultHeaders || this.hasHeaders) { this.setHeader(o); } o.conn.send(postData || null); this.handleTransactionResponse(o, callback); return o; } };
//调用Ext.Ajax.request({ url:'', scope:this, sync:true, success:function(){} });
http://cn-done.iteye.com/blog/819177
- ExtJs ajax调用汇总
- ExtJs ajax调用汇总
- ExtJs ajax调用汇总
- extjs中ajax方法调用
- ExtJs异步ajax调用和同步ajax调用公用方法
- 【ExtJs】ExtJs的Ajax
- ExtJS & Ajax
- Extjs/Ajax中的success和failure 何时调用?
- ExtJs框架系列汇总
- Extjs 问题汇总
- Ajax框架-----ExtJS
- AJAX、EXTJS做程序
- Ajax and Extjs 进度条
- javascript , jquery , ajax ,extjs
- ExtJS Ajax简单用法
- AJAX JQUERY EXTJS
- extjs ajax代理 模板
- ExtJs中的Ajax详解
- php 计算运行时间
- SQL基础-->多表查询
- 动态规划解背包问题/
- openlayers的layer和Control类
- Google搜索只剩下18%的版面了
- ExtJs ajax调用汇总
- Ubuntu安装openGL
- php 遍历一段时间
- 埋藏
- oracle的jdbc连接方式:oci和thin
- 图的深度优先搜索/Depth-first search/C++
- 多表zTree
- 如何开启QtCreator的代码自动补全功能
- 结构体与类的区别