//异步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(){}
});
分享到:
相关推荐
tree 的所有功能 很难得的 我刚调试好 只需要把数据库url 用户名和密码修改 ,就可以运行 extjs 动态树 tree ajax 全部功能 10分一点都不多,绝对值得。
extjs ajax框架中文使用手册,extjs ajax框架中文使用手册
extjs ajax同步请求所需js extjs ajax同步请求所需js
NULL 博文链接:https://rayln.iteye.com/blog/1484628
EXTJS AJAX方式发送数据给后台服务器
Extjs Ajax 购物车,直接下载是运行不了的,因为数据库你是没有的
ext extjs ajax java 中文教程 ext extjs ajax java 中文教程
NULL 博文链接:https://esayjava.iteye.com/blog/499176
NULL 博文链接:https://shuhaolan.iteye.com/blog/1337060
ASP.NET 调用EXTJS,EXTJS利用JSON和C#的后台程序进行参数传递和结果输出。
extjs3.0 ajax 同步请求
JavaScript ExtJS Ajax基础教程 快速入门
对extjs时间的介绍,期待您的参与,我们一起努力
原Extjs4.2似乎不支持Send数据时转JSON,资源里的修改Ext-all.js文件,添加参数extraParams:{wt:"json"}send时会转Json数据提交。 解决“无效的 JSON 基元”的问题
ExtJS(ajax框架) 4.2.1 功能介绍 功能丰富,无人能出其右。 无论是界面之美,还是功能之强,ext的表格控件都高居榜首。 单选行,多选行,高亮显示选中的行,拖拽改变列宽度,按列排序,这些基本功能ExtJS轻量级...
extjs中ajax网页无刷新与后台交互的代码实现,使用javascript开发的可以参照学习。。
vExtJs参考资料汇总ExtJs参考资料汇总ExtJs参考资料汇总ExtJs参考资料汇总
[08]EXTJS4.0的Ajax.003.zip (53.77M)[08]EXTJS4.0的Ajax.002.zip [08]EXTJS4.0的Ajax.001.zip 第九讲:extjs4.0的core包和Ext类 [09]EXTJS4.0的core包和Ext类.003.zip (60.22M)[09]EXTJS4.0的core包和Ext类.002....
extjs对Ajax的支持
ExtJS对Ajax的支持介绍,资源不断更新中