Ext2,.x的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};
syncRequest方法如下:
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(){}
});
Ext3.x的Ajax实现同步
<script type="text/javascript" src="../extjs/ext-base.js"></script>
<script type="text/javascript" src="../extjs/ext-basex.js"></script>
//引入另一个JS文件,在附件中。
分享到:
相关推荐
- **事件绑定**:为页面元素绑定事件监听器,以便在特定情况下触发AJAX请求。 #### 五、总结 AJAX技术通过使用`XMLHttpRequest`对象实现了浏览器与服务器之间高效、低延迟的数据交互,极大地改善了用户的交互体验...
`XMLHttpRequest`是实现AJAX的关键技术之一,它允许JavaScript以异步方式向服务器发起请求并接收响应,从而避免了页面的重新加载。接下来,我们将详细了解`XMLHttpRequest`的各种属性和方法。 ##### 1. ...
总结起来,Ajax通过XMLHttpRequest对象实现了页面的异步更新,它在Web开发中扮演着关键角色,尤其是在构建动态交互式的网页应用时。理解和掌握Ajax的工作原理以及XMLHttpRequest的使用是现代Web开发者必备的技能之一...
通过这种方式,我们可以构建一个智能提示系统,当用户在文本框中输入时,系统会实时发送Ajax请求,获取匹配的建议,并在文本框下方显示。用户可以通过鼠标选择建议项,或者继续输入以更新提示。这个例子展示了jQuery...
然后,使用`Ext.lib.Ajax.getConnectionObject().conn`获取了一个连接对象,这是一个同步的AJAX请求,其`open`方法的第三个参数设为`false`,表示这是一个同步请求。请求的URL是`/base/business/SysPublicAction.do?...
8. **异步编程**:使用回调函数、Promise或async/await处理非同步任务,如AJAX请求获取远程数据。 9. **错误处理**:添加适当的错误检查和异常处理,以确保代码的健壮性。 10. **实践应用**:可能涉及到实际问题的...
*** MVC中,常见的进度条的实现方式有两种,一种是使用Ajax异步上传结合客户端JavaScript进行进度显示,另一种是使用WebSocket技术。 1. **使用Ajax异步上传与轮询技术**: 在客户端,利用JavaScript库(如jQuery...
《JavaServer Faces 2.0完全参考手册》对所有jsf功能都进行了解释,包括请求处理生命周期、托管bean、页面导航、组件开发、ajax、验证器、国际化和安全。贯穿全书的专家组意见提供了关于jsf设计的内部信息。 推荐...
《JavaServer Faces 2.0完全参考手册》对所有jsf功能都进行了解释,包括请求处理生命周期、托管bean、页面导航、组件开发、ajax、验证器、国际化和安全。贯穿全书的专家组意见提供了关于jsf设计的内部信息。 推荐...
通常,我们会使用JavaScript在客户端实现倒计时,因为频繁地通过Ajax向服务器请求时间会增加服务器负载。然而,这种方法可能会因网络延迟导致几秒钟的误差。为了解决这个问题,可以在用户首次加载页面时,通过PHP...
在ASP.NET中,准确地跟踪用户何时离开网站并以何种方式离开是一项挑战。通常,Web服务器依赖于Session来判断用户是否仍然活跃,因为Session会在...同时,为了防止恶意攻击,应该对AJAX请求进行适当的验证和权限检查。
LiveView通过WebSocket连接将服务器端的状态与客户端保持同步,减少了对AJAX请求的依赖。 **Phoenix.LiveController的作用** `phoenix_live_controller`是基于Phoenix.LiveView的一个扩展,它引入了类似传统...
此外,我们定义了一个名为`authorityTree`的函数,它使用EXTJS的Ajax请求功能从'authorityTree.ashx'获取数据,然后将返回的数据附加到TreePanel的根节点,并展开所有的子节点。 整个过程的核心在于`checkchange`...