`

ExtJs ajax调用汇总

阅读更多
//异步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(){}     
});      

 

 

分享到:
评论

相关推荐

    EXTJS AJAX方式发送数据给后台服务器.rar

    EXTJS中的AJAX调用通过Ext.Ajax对象来实现,它提供了一系列的方法,如`request`、`post`、`get`等,方便开发者进行异步数据交互。其中,`request`方法是核心,可以处理各种HTTP请求类型,包括GET、POST、PUT、DELETE...

    tree 动态树 extjs ajax

    在给定的标题和描述中,主要涉及了ExtJS中的动态树(tree)功能以及与AJAX的结合使用。下面将详细介绍这些知识点。 **动态树(Dynamic Tree)** 动态树是ExtJS中的一种控件,用于展示层次结构的数据。它可以实时地...

    extjs ajax tree(js动态树,无需递归)

    ExtJS AJAX Tree是一种基于JavaScript的动态树形结构,它利用AJAX技术来异步加载节点数据,无需在服务器端生成完整的树结构。这种方式可以显著提高页面加载速度,尤其是在处理大量数据时。ExtJS是一个功能丰富的...

    ExtJs Ajax 同步问题

    在使用ExtJS进行开发时,Ajax异步请求是常用的功能之一。然而,有时我们可能会遇到Ajax同步问题,这通常是由于对异步和同步理解不透彻或者配置不当导致的。下面我们将详细探讨这个问题。 在ExtJS中,Ajax请求主要...

    Extjs Ajax 购物车

    在用户操作购物车时,如增加、删除商品,ExtJS通过AJAX调用与服务器进行通信,执行相应的数据库操作。服务器可能使用诸如MySQL、PostgreSQL等关系型数据库,或者MongoDB等NoSQL数据库来存储购物车数据。 **4. ExtJS...

    extjs对ajax的支持文档

    - Ext.Ajax是ExtJS中的核心模块,用于处理所有与Ajax相关的操作。它提供了发送异步请求、处理响应和错误处理等功能。 - 使用`Ext.Ajax.request`方法发起Ajax请求,该方法接受一系列参数,如URL、方法(GET或POST)...

    extjs ajax同步请求所需js

    标题中提到的"extjs ajax同步请求所需js"是指ExtJS框架中用于执行同步Ajax请求的相关JavaScript代码。在ExtJS中,Ajax请求通常通过`Ext.Ajax`对象来实现。与传统的异步请求不同,同步请求会阻塞浏览器,直到请求完成...

    ASP.NET 调用EXTJS

    总的来说,ASP.NET调用EXTJS涉及到的技术点包括:EXTJS的组件和MVC架构、JSON数据交换、ASP.NET Web API或MVC、C#编程以及Ajax请求。通过这样的结合,开发者可以在享受EXTJS提供的强大客户端功能的同时,利用ASP.NET...

    ExtJs事件处理 ajax

    下面将详细解释标题和描述中提到的ExtJs事件处理,以及与Ajax交互的相关知识。 1. **基本事件处理** - 在ExtJs中,可以使用`on`方法来监听DOM元素或Ext组件的事件。例如,监听ID为'somelink'的元素的点击事件,...

    Asp.net+Extjs+Ajax轮询进度条.rar

    这个接口在后台任务执行期间被Ajax调用,返回的进度值会被用于更新ExtJS的进度条组件。 总的来说,这个项目展示了Asp.NET、ExtJS和Ajax的强大结合,实现了Web应用中的实时进度反馈功能。通过Asp.NET处理服务器端...

    extjs最全项目 js struts Ajax

    **标题详解:** "extjs最全项目 js struts Ajax" 这个标题暗示了这是一个综合性的IT项目,主要涉及EXTJS框架、JavaScript(js)、Struts框架以及Ajax技术。EXTJS是一个用于构建用户界面的前端JavaScript库,它提供...

    extjs3.0 ajax 同步请求

    ### ExtJS 3.0 AJAX 同步请求详解 #### 一、引言 ExtJS 是一款基于 JavaScript 的开源框架,用于构建现代化的 Web 应用。它提供了丰富的 UI 组件以及强大的数据处理能力,使得开发者能够快速地开发出高质量的企业...

    Extjs4.2 调用Asp.net webServics

    原Extjs4.2似乎不支持Send数据时转JSON,资源里的修改Ext-all.js文件,添加参数extraParams:{wt:"json"}send时会转Json数据提交。 解决“无效的 JSON 基元”的问题

    ExtJS(ajax框架) 4.2.1

    ExtJS(ajax框架) 4.2.1 功能介绍 功能丰富,无人能出其右。 无论是界面之美,还是功能之强,ext的表格控件都高居榜首。 单选行,多选行,高亮显示选中的行,拖拽改变列宽度,按列排序,这些基本功能ExtJS轻量级...

    extjs中ajax的实现源码

    extjs中ajax网页无刷新与后台交互的代码实现,使用javascript开发的可以参照学习。。

    Ajax框架ExtJS3.0源代码

    ExtJS是一个基于JavaScript的开源富客户端框架,专为构建交互式Web应用而设计。它封装了DOM操作、AJAX通信、UI组件等Web开发的核心功能,使得开发者可以通过编写JavaScript代码来创建复杂的用户界面。3.0是ExtJS的一...

    extjs spring tree ajax

    在与ExtJS集成时,Spring通常作为后端服务,提供RESTful API,供前端的Ajax请求调用。 AJAX(异步JavaScript和XML)是一种在不刷新整个页面的情况下更新部分网页的技术。在ExtJS中,Ajax被广泛用于与服务器进行通信...

    ExtJS对Ajax的支持

    ### ExtJS对Ajax的支持 #### 一、Ext.Ajax入门 **Ext.Ajax**是ExtJS框架中的一个核心组件,用于实现与服务器的异步通信,即Ajax请求。这一功能对于构建动态、响应式和交互式的Web应用至关重要。Ext.Ajax提供了一套...

    ExtJs ajax提交

    在ExtJS中,Ajax(Asynchronous JavaScript and XML)提交是实现异步数据交互的核心功能,允许用户在不刷新整个页面的情况下与服务器进行数据交换。在本文中,我们将深入探讨ExtJS中的Ajax提交及其相关知识点。 1. ...

Global site tag (gtag.js) - Google Analytics