zoukankan      html  css  js  c++  java
  • jQuery Ajax通用js封装

    第一步:引入jQuery库

    <script type="text/javascript" src="<%=path%>/resources/js/jquery.min.js"></script>

    第二步:开发Ajax封装类,已测试通过,可以直接调用,直接贴代码,讲解就省了

    复制代码
    /*****************************************************************
                      jQuery Ajax封装通用类  (linjq)       
    *****************************************************************/
    $(function(){
        /**
         * ajax封装
         * url 发送请求的地址
         * data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
         * async 默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。
         *       注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
         * type 请求方式("POST" 或 "GET"), 默认为 "GET"
         * dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text
         * successfn 成功回调函数
         * errorfn 失败回调函数
         */
        jQuery.ax=function(url, data, async, type, dataType, successfn, errorfn) {
            async = (async==null || async=="" || typeof(async)=="undefined")? "true" : async;
            type = (type==null || type=="" || typeof(type)=="undefined")? "post" : type;
            dataType = (dataType==null || dataType=="" || typeof(dataType)=="undefined")? "json" : dataType;
            data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data;
            $.ajax({
                type: type,
                async: async,
                data: data,
                url: url,
                dataType: dataType,
                success: function(d){
                    successfn(d);
                },
                error: function(e){
                    errorfn(e);
                }
            });
        };
        
        /**
         * ajax封装
         * url 发送请求的地址
         * data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
         * successfn 成功回调函数
         */
        jQuery.axs=function(url, data, successfn) {
            data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data;
            $.ajax({
                type: "post",
                data: data,
                url: url,
                dataType: "json",
                success: function(d){
                    successfn(d);
                }
            });
        };
        
        /**
         * ajax封装
         * url 发送请求的地址
         * data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
         * dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text
         * successfn 成功回调函数
         * errorfn 失败回调函数
         */
        jQuery.axse=function(url, data, successfn, errorfn) {
            data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data;
            $.ajax({
                type: "post",
                data: data,
                url: url,
                dataType: "json",
                success: function(d){
                    successfn(d);
                },
                error: function(e){
                    errorfn(e);
                }
            });
        };
    
    
    
    });
    复制代码

    第三步:调用模拟

    复制代码
    <%@ page language="java" pageEncoding="utf-8"%>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://"
                + request.getServerName() + ":" + request.getServerPort()
                + path + "/";
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        <head>
            <base href="<%=basePath%>">
    
            <title>jQuery Ajax封装通用类测试</title>
    
            <meta http-equiv="pragma" content="no-cache">
            <meta http-equiv="cache-control" content="no-cache">
            <meta http-equiv="expires" content="0">
            <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
            <meta http-equiv="description" content="This is my page">
            <jsp:include page="/view/common/js_taglib.jsp"></jsp:include>
            <script type="text/javascript">
            $(function(){
                $.ax(
                    getRootPath()+"/test/ajax.html",
                    null,
                    null,
                    null,
                    null, 
                    function(data){
                        alert(data.code);
                    }, 
                    function(){
                        alert("出错了");
                    }
                );
                
                $.axs(getRootPath()+"/test/ajax.html", null, function(data){
                    alert(data.data);
                });
            
                $.axse(getRootPath()+"/test/ajax.html",
                    null, 
                    function(){
                        alert("成功了");
                    },
                    function(){
                        alert("出错了");
                });
            });
              </script>
        </head>
        <body>
             
        </body>
    </html>
    复制代码
  • 相关阅读:
    使用 asp.net mvc和 jQuery UI 控件包
    ServiceStack.Redis 使用教程
    HTC T8878刷机手册
    Entity Framework CodeFirst 文章汇集
    2011年Mono发展历程
    日志管理实用程序LogExpert
    使用 NuGet 管理项目库
    WCF 4.0路由服务Routing Service
    精进不休 .NET 4.0 (1) asp.net 4.0 新特性之web.config的改进, ViewStateMode, ClientIDMode, EnablePersistedSelection, 控件的其它一些改进
    精进不休 .NET 4.0 (7) ADO.NET Entity Framework 4.0 新特性
  • 原文地址:https://www.cnblogs.com/goodbeypeterpan/p/4442314.html
Copyright © 2011-2022 走看看