ajax的get和post请求工具类:

/**
 * 公共方法类
 *
 * 使用  变量名=function()定义函数时,如果在变量名前加var,则这个变量变成局部变量
 */
var Common = function() {
    
    /*
     * 获取url参数
     */
    var getQueryStr = function(sUrlParam, sArgName) {
        var retval = "";
        if (sUrlParam == null || sUrlParam.length == 0) {
            return retval;
        }
        var args = sUrlParam.split("&");
        for (var i = 0; i < args.length; i++) {
            sUrlParam = args[i];
            var arg = sUrlParam.split("=");
            if (arg.length <= 1)
                continue;
            if (arg[0] == sArgName)
                retval = arg[1];
        }
        return retval;
    }
    
    /*
     * ajax发送post请求
     */
    var postReq = function(url, param, fnCallback, isIndex) {
        var target, options = {
            title : "异常信息",
            content : "",
            bodyType : "errorMessage"
        };
        
        if (isIndex) {
            target = window;
        }
        else {
            target = window.parent;
        }
        
       $.ajax({
                url : url,
                type : "POST",
                timeout : 300000,
                headers:"Access-Control-Allow-Origin:*",
                contentType : "application/x-www-form-urlencoded;charset=UTF-8",
                dataType : "json",
                data : param
            }).done(function(data, textStatus, jqXHR) {
                if (jqXHR.getResponseHeader('sessionStatus') == 'timeout') {
                    options.content = '会话已经超时.';
                    target.showModal(options, function() {
                            target.location.href = 'login.html';
                        });
                }
                else if (!data) {
                    options.content = '无返回信息.';
                    target.showModal(options, function() {
                            // donothing
                        });
                }
                else {
                    fnCallback(data);
                }
            }).fail(function(jqXHR, textStatus, errorThrown) {
                if (jqXHR.status == 0) {
                    options.content = '请求异常,网络连接失败!';
                }
                else if (jqXHR.status == 403) {
                    options.content = jqXHR.responseJSON.message;
                }
                else {
                    options.content = "请求异常,状态码:" + jqXHR.status;
                }
                
                target.showModal(options, function() {
                        // donothing
                    });
            });
    };
    
    var postReq = function(url, param, fnCallback, isIndex) {
        var target, options = {
            title : "异常信息",
            content : "",
            bodyType : "errorMessage"
        };
        
        if (isIndex) {
            target = window;
        }
        else {
            target = window.parent;
        }
        
       $.ajax({
                url : url,
                type : "POST",
                timeout : 300000,
                contentType : "application/x-www-form-urlencoded;charset=UTF-8",
                dataType : "json",
                data : param
            }).done(function(data, textStatus, jqXHR) {
                if (jqXHR.getResponseHeader('sessionStatus') == 'timeout') {
                    options.content = '会话已经超时.';
                    target.showModal(options, function() {
                            target.location.href = 'login.html';
                        });
                }
                else if (!data) {
                    options.content = '无返回信息.';
                    target.showModal(options, function() {
                            // donothing
                        });
                }
                else {
                    fnCallback(data);
                }
            }).fail(function(jqXHR, textStatus, errorThrown) {
                if (jqXHR.status == 0) {
                    options.content = '请求异常,网络连接失败!';
                }
                else if (jqXHR.status == 403) {
                    options.content = jqXHR.responseJSON.message;
                }
                else {
                    options.content = "请求异常,状态码:" + jqXHR.status;
                }
                
                target.showModal(options, function() {
                        // donothing
                    });
            });
    };
    
    return {
        getQueryStr : getQueryStr,
        postReq : postReq
    }
}();

调用方法:

Common.postReq('svcinfo/findForSelect.do', {
                            svcAlias : key
                        }, function(json) {
                            if ($.trim(key) == '') {
                                // splice(a1,a2,a3...)从a1位置开始替换a2个元素为a3...
                                json.data.splice(0, 0, {
                                        svnName : 'all',
                                        svcAlias : '所有服务'
                                    });
                            }
                            me.cacheDataSource = [];//清空原数组,避免内存泄露
                            me.cacheDataSource[key] = json.data;
                            query.callback({
                                    results : json.data
                                });
                        });

ajax请求工具类的更多相关文章

  1. 微信https请求工具类

    工作中用到的微信https请求工具类. package com.gxgrh.wechat.tools; import com.gxgrh.wechat.wechatapi.service.System ...

  2. WebUtils-网络请求工具类

    网络请求工具类,大幅代码借鉴aplipay. using System; using System.Collections.Generic; using System.IO; using System ...

  3. Http、Https请求工具类

    最近在做微信开发,使用http调用第三方服务API,有些是需要https协议,通过资料和自己编码,写了个支持http和https的工具类,经验证可用,现贴出来保留,也供需要的人使用(有不足的地方,也请 ...

  4. HTTP请求工具类

    HTTP请求工具类,适用于微信服务器请求,可以自测 代码; /// <summary> /// HTTP请求工具类 /// </summary> public class Ht ...

  5. 实现一个简单的http请求工具类

    OC自带的http请求用起来不直观,asihttprequest库又太大了,依赖也多,下面实现一个简单的http请求工具类 四个文件源码大致如下,还有优化空间 MYHttpRequest.h(类定义, ...

  6. 远程Get,Post请求工具类

    1.远程请求工具类   import java.io.*; import java.net.URL; import java.net.URLConnection; import java.util.L ...

  7. C#实现的UDP收发请求工具类实例

    本文实例讲述了C#实现的UDP收发请求工具类.分享给大家供大家参考,具体如下: 初始化: ListeningPort = int.Parse(ConfigurationManager.AppSetti ...

  8. 【原创】标准HTTP请求工具类

    以下是个人在项目开发过程中,总结的Http请求工具类,主要包括四种: 1.处理http POST请求[XML格式.无解压]: 2.处理http GET请求[XML格式.无解压]: 3.处理http P ...

  9. 我的Android进阶之旅------>Android关于HttpsURLConnection一个忽略Https证书是否正确的Https请求工具类

    下面是一个Android HttpsURLConnection忽略Https证书是否正确的Https请求工具类,不需要验证服务器端证书是否正确,也不需要验证服务器证书中的域名是否有效. (PS:建议下 ...

随机推荐

  1. 深度学习、图像识别入门,从VGG16卷积神经网络开始

    刚开始接触深度学习.卷积神经网络的时候非常懵逼,不知道从何入手,我觉得应该有一个进阶的过程,也就是说,理应有一些基本概念作为奠基石,让你有底气去完全理解一个庞大的卷积神经网络: 本文思路: 一.我认为 ...

  2. linux-centos6/7初始配置

    关闭防火墙 chkconfig iptables off centos7下的命令为 systemctl stop firewalld.service #停止Firewall systemctl dis ...

  3. Flash和滚动字幕

    flash 1.插入flash     1)<object>             <embed src="路径"></embed>      ...

  4. tomcat启动项目 端口占用

    转自:https://blog.csdn.net/u010427935/article/details/77297529 有时候电脑比较卡,项目比较大的情况下,eclipse没有完全停止tomcat的 ...

  5. 3.SpringMVC介绍

    1.采用Spring MVC的好处 Dispathcher Servlet必须做如下的事情: 1.根据URI调用相应的action 2.实例化正确的控制器类 3.根据请求参数值来构造表单bean 3. ...

  6. 更新403 Forbidden

    用TidHTTP下载一个文件 http://192.168.1.1/files/新建文本文档.txt 报错,但是用浏览器打开正常 HTTP/1.1 403 Forbidden 最后不是程序的问题,把i ...

  7. SpringMvc 获取ApplicationContext

    有时,我们不通过Controller层进入Service层,比如同步数据,任务,以及文件上传共通Handler对文件处理后保存数据等都会由一个非Controller类调用Service. 这时候如果n ...

  8. eclipse中创建多模块maven web项目

    本文讲述在eclipse中创建分模块maven web项目. 暂时将一个项目分为controller:service:dao以及父类模块四部分. 1.创建父类模块. 创建一个简单的maven proj ...

  9. c#数和二叉树

    树(Tree)是 n(n≥0)个相同类型的数据元素的有限集合.树中的数据元素叫结点(Node).n=0 的树称为空树(Empty Tree):对于 n>0 的任意非空树 T 有: (1)有且仅有 ...

  10. express + mongodb 搭建一个简易网站(一)

    express + mongodb 搭建一个简易网站(一) 前言:后台使用node.js的express框架,数据库使用mongodb,模板使用ejs.大概就这些. 开始第一个简易网站之旅吧.... ...