`
anson_xu
  • 浏览: 513362 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类

ajax提交数据(代理函数)

    博客分类:
  • ajax
阅读更多
ajax 提交


//1.判断是否为登陆用户
function isLogin(url,page) {
try{
var a=new MyAjax();
var u = <%=request.getContextPath()%>/LoginAction.do?action=unLogin;
var queryString="validateCode="+_$('uval').value+"&loginName="+_$('uname').value+"&password="+_$('upwd').value;
a.sendPostRequest(queryString,url,checkIsLogin.createDelegate(a));
}catch(e){

}
}
//处理action
public ActionForward unLogin(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String[] userAry = (String[])request.getSession().getAttribute("userAry");
// System.out.println("session has be removed!");
PrintWriter out = null;
try {
out = response.getWriter();
} catch (java.io.IOException e) {}
                if(userAry!=null){
out.print("{relust:'yes'}");
                }else{
                 out.print("{result:'no'}");
                   }
return mapping.findForward(NOFORWARD);
}
//2.回调函数
function checkIsLogin(){
var xmlHttp=this.xmlHttp;
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
var json=eval("("+xmlHttp.responseText+")");
if(json.result!='0000'){
alert(json.errorMessage);
return;
}
}else{
window.alert("ajax状态错误!");
}
}
}
//3.页面调用
<script type="text/javascript" src="<%=request.getContextPath() %>/js/ExtFunction.js"></script>
//4.代理对象
Ext = {};//Ext = {};
Ext.javapackage = function() {
var a = arguments, o = null, i, j, d, rt;
for (i = 0;i < a.length; ++i) {
d = a[i].split(".");
rt = d[0];
eval('if (typeof ' + rt + ' == "undefined"){' + rt + ' = {};} o = '
+ rt + ';');
for (j = 1;j < d.length; ++j) {
o[d[j]] = o[d[j]] || {};
o = o[d[j]];
}
}
};

Ext.apply = function(o, c, defaults){
    if(defaults){
        // no "this" reference for friendly out of scope calls
        Ext.apply(o, defaults);
    }
    if(o && c && typeof c == 'object'){
        for(var p in c){
            o[p] = c[p];
        }
    }
    return o;
};

/*====================Array====================*/
Ext.apply(Array.prototype, {
    indexOf : function(o){
       for (var i = 0, len = this.length; i < len; i++){
      if(this[i] == o) return i;
       }
   return -1;
    },
    remove : function(o){
       var index = this.indexOf(o);
       if(index != -1){
           this.splice(index, 1);
       }
    }
});

/*====================String====================*/
Ext.apply(String.prototype, {
trim : function() {
return this.replace(/(\s*$)/g, "").replace(/(^\s*)/g, "");//先去掉结尾空格,再去掉开头空格。
},
format : function() {
    var args = Array.prototype.slice.call(arguments, 0);
    return this.replace(/\{(\d+)\}/g, function(m, i){return args[i];});
    },
formatAry : function() {
var a=arguments;
if(typeof arguments[0]=="object"){
a=arguments[0];
}
var args = Array.prototype.slice.call(a, 0);
    return this.replace(/\{(\d+)\}/g, function(m, i){return args[i];});
},
    zero2int: function() {
    if(parseInt(this)!=0)return parseInt(this);
    return parseInt(this.replace(/^0/,""));
    },
    clearZero: function(){
    var t=""+this;
if(t[0]=="0"){
t=this.replace(/^0/,"");
t=clearZear(t);
}
return t;
},
string2int: function(){//前面n个0的字符串变数字
var t=""+this;
while((/^0/.test(t)))t=t.replace(/^0/,"");
return /^\d+$/.test(t)?parseInt(t):t;
}
});

/*====================Function====================*/
Ext.apply(Function.prototype, {
    createCallback : function(/*args...*/){
        var args = arguments;
        var method = this;
        return function() {
            return method.apply(window, args);
        };
    },
    createDelegate : function(obj, args, appendArgs){
        var method = this;
        return function() {
            var callArgs = args || arguments;
            if(appendArgs === true){
                callArgs = Array.prototype.slice.call(arguments, 0);
                callArgs = callArgs.concat(args);
            }else if(typeof appendArgs == "number"){
                callArgs = Array.prototype.slice.call(arguments, 0); // copy arguments first
                var applyArgs = [appendArgs, 0].concat(args); // create method call params
                Array.prototype.splice.apply(callArgs, applyArgs); // splice them in
            }
            return method.apply(obj || window, callArgs);
        };
    },
    defer : function(millis, obj, args, appendArgs){
        var fn = this.createDelegate(obj, args, appendArgs);
        if(millis){
            return setTimeout(fn, millis);
        }
        fn();
        return 0;
    },
    createSequence : function(fcn, scope){
        if(typeof fcn != "function"){
            return this;
        }
        var method = this;
        return function() {
            var retval = method.apply(this || window, arguments);
            fcn.apply(scope || this || window, arguments);
            return retval;
        };
    },
    createInterceptor : function(fcn, scope){
        if(typeof fcn != "function"){
            return this;
        }
        var method = this;
        return function() {
            fcn.target = this;
            fcn.method = method;
            if(fcn.apply(scope || this || window, arguments) === false){
                return;
            }
            return method.apply(this || window, arguments);
        };
    }
});

分享到:
评论

相关推荐

    Ajax跨域提交

    Ajax跨域提交是Web开发中的一个重要概念,它涉及到前端JavaScript与后端服务器之间的异步数据交互,特别是当这种交互跨越了不同的源(域名、协议或端口)时。在了解Ajax跨域提交前,我们首先需要理解Web浏览器的同源...

    lotus domino AJAX post数据

    - HTTP的POST方法用于向服务器提交数据,常用于创建新资源或更新已有资源。在AJAX场景中,POST方法常用于向服务器发送表单数据或自定义数据。 以上就是关于"lotus domino AJAX post数据"这个主题的关键知识点,...

    ajax教程

    通过这个对象,开发者可以在后台执行数据的获取、提交,而不会打断用户的交互。 **2. 工作流程** - **创建XMLHttpRequest对象**:大多数现代浏览器都内置了XMLHttpRequest对象。 - **打开连接**:使用...

    AJAX快车道 AJAX快车道

    - **XML与JSON**:尽管名称中含有XML,但AJAX传输的数据格式不限于XML,更多情况下使用JSON,因为JSON更轻量、解析速度更快。 ### 2. AJAX的工作流程 1. **创建XMLHttpRequest对象**:这是所有AJAX操作的起点,...

    Ajax异步(请求)提交类 支持跨域

    ### Ajax异步(请求)提交类支持跨域 #### 概述 在现代Web开发中,Ajax技术的应用非常广泛,它允许网页不刷新整个页面的情况下与服务器进行数据交互,极大地提升了用户体验。然而,Ajax默认是不允许跨域请求的,这是...

    ajax手写代码应用

    - **表单提交**:用户填写表单后,使用Ajax提交数据,无需刷新页面,反馈结果。 - **动态加载内容**:如分页加载、滚动加载新内容等。 - **实时更新**:如聊天室、股票实时报价等,无需刷新页面,数据实时更新。 ...

    lotus domino AJAX get通过URL传数据

    在Lotus Domino开发中,有时候我们需要使用AJAX技术与服务器进行异步通信,获取或提交数据。本例中,我们将探讨如何使用AJAX的GET方法通过URL传递数据,并在Lotus Domino后端处理这些数据。 首先,让我们了解AJAX...

    asp ajax跨域提交数据

    ### ASP AJAX 跨域提交数据实现方案 #### 一、背景与需求分析 在Web开发过程中,经常会遇到需要从第三方服务器获取数据的情况。比如,在一个分类信息网站中,存储了用户的IP地址,但用户可能更希望看到的是这些IP...

    javascript+ajax实用技术

    5. **跨域通信**:AJAX 请求默认受到同源策略限制,但可以通过JSONP、CORS或者代理服务器等方式实现跨域通信。 6. **错误处理**:在AJAX请求中,需要捕获并处理可能出现的错误,例如网络问题、服务器返回错误等。...

    ajax 多年收集资料(15个教学文档和应用实例)

    - **jQuery/Ajax库**:jQuery简化了Ajax操作,提供了$.ajax()、$.get()、$.post()等函数。 - **Promise/Ajax**:现代浏览器中的Promise用于更优雅地处理异步操作,如`fetch` API。 - **Websocket**:实现双向通信,...

    解决ajax跨域请求问题

    在Web开发中,Ajax(Asynchronous JavaScript and XML)技术被广泛用于实现页面的异步更新,使得用户无需刷新整个页面就能获取和提交数据。然而,跨域请求是Ajax的一个常见问题,由于浏览器的同源策略限制,Ajax请求...

    【卷一/共两卷】AJAX实战pdf高清版90M

    目录 第一部分 重新思考Web应用 第1章 一种新的Web设计方法 1.1 为什么需要Ajax富客户端? 1.1.1 比较用户体验 ...B.3.4 Ajax事件处理和函数上下文 B3.5 JavaScript中的闭包 B.4 小结 B.5 资源 附录C Ajax框架和库

    Ajax经典实例学习

    - **HTTP方法**:GET和POST是最常用的HTTP请求方法,GET用于获取数据,POST用于提交数据。 2. **Ajax请求过程** - **创建XMLHttpRequest对象**:首先,需要创建一个XMLHttpRequest对象实例。 - **打开连接**:...

    AJAX高级程序设计

    POST用于向服务器提交数据,数据包含在请求体中。还有PUT、DELETE等其他HTTP方法,适用于CRUD(创建、读取、更新、删除)操作。 5. **数据处理**:接收到服务器响应后,我们需要解析返回的数据。对于JSON,可以使用...

    AJAX实例源文件1

    例如,你可以实现一个评论系统,当用户提交评论后,通过AJAX更新评论列表,而无需刷新整个页面。 4. 错误处理:在实际应用中,错误处理是不可或缺的部分。学习如何处理网络错误、服务器错误以及解析错误是理解AJAX...

    Ajax完全自学手册(PPT)

    - **JavaScript语法**:复习JavaScript的基础知识,如变量、数据类型、函数等,为使用Ajax做准备。 - **DOM操作**:讲解如何通过JavaScript操作HTML文档对象模型,这是动态更新页面内容的关键。 3. **Ajax工作...

    lotus domino AJAX 不刷新post页面保存文档

    Lotus Domino AJAX 不刷新页面保存文档是一种在前端与后端交互时提高用户体验的技术,它允许用户在不重新加载整个页面的情况下提交数据并保存文档。在本文中,我们将深入探讨实现这一功能所需的关键技术和代码片段。...

    AJAx知识大全 超强悍的

    JSONP是跨域AJAX请求的一种解决方案,通过动态插入`&lt;script&gt;`标签,利用`src`属性加载服务器返回的JavaScript函数调用。 ### 5. CORS(Cross-Origin Resource Sharing) CORS是现代浏览器支持的跨域请求标准,...

    AJAX相关帮助文档

    2. **表单验证**:在提交表单前,通过 AJAX 验证用户输入的有效性,提供即时反馈。 3. **页面局部更新**:例如,新闻网站的无刷新滚动加载新内容。 4. **进度条显示**:文件上传或下载时,更新进度信息。 5. **...

Global site tag (gtag.js) - Google Analytics