ajax请求工具类
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请求工具类的更多相关文章
- 微信https请求工具类
工作中用到的微信https请求工具类. package com.gxgrh.wechat.tools; import com.gxgrh.wechat.wechatapi.service.System ...
- WebUtils-网络请求工具类
网络请求工具类,大幅代码借鉴aplipay. using System; using System.Collections.Generic; using System.IO; using System ...
- Http、Https请求工具类
最近在做微信开发,使用http调用第三方服务API,有些是需要https协议,通过资料和自己编码,写了个支持http和https的工具类,经验证可用,现贴出来保留,也供需要的人使用(有不足的地方,也请 ...
- HTTP请求工具类
HTTP请求工具类,适用于微信服务器请求,可以自测 代码; /// <summary> /// HTTP请求工具类 /// </summary> public class Ht ...
- 实现一个简单的http请求工具类
OC自带的http请求用起来不直观,asihttprequest库又太大了,依赖也多,下面实现一个简单的http请求工具类 四个文件源码大致如下,还有优化空间 MYHttpRequest.h(类定义, ...
- 远程Get,Post请求工具类
1.远程请求工具类 import java.io.*; import java.net.URL; import java.net.URLConnection; import java.util.L ...
- C#实现的UDP收发请求工具类实例
本文实例讲述了C#实现的UDP收发请求工具类.分享给大家供大家参考,具体如下: 初始化: ListeningPort = int.Parse(ConfigurationManager.AppSetti ...
- 【原创】标准HTTP请求工具类
以下是个人在项目开发过程中,总结的Http请求工具类,主要包括四种: 1.处理http POST请求[XML格式.无解压]: 2.处理http GET请求[XML格式.无解压]: 3.处理http P ...
- 我的Android进阶之旅------>Android关于HttpsURLConnection一个忽略Https证书是否正确的Https请求工具类
下面是一个Android HttpsURLConnection忽略Https证书是否正确的Https请求工具类,不需要验证服务器端证书是否正确,也不需要验证服务器证书中的域名是否有效. (PS:建议下 ...
随机推荐
- Ubuntu下Code::Blocks错误
#error This file requires compiler and library support for the ISO C++ 2011 standard. This support i ...
- 让MySql支持Emoji表情(MySQL中4字节utf8字符保存方法)
手机端插入Emoji表情,保存到数据库时报错: Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x84' ...
- 第10章 线程控制(5)_多线程下的fork
6. 线程和fork 6.1 多线程下的fork (1)历史包袱 ①fork与多线程的协作性很差,这是POSIX系统操作系统的历史包袱. ②长期以来程序都是单线程的,fork运行正常,但引入线程这后, ...
- 【Linux_Unix系统编程】chapter5 深入探究文件IO
Chapter5 深入探究文件I/O 本章节将介绍另一个与文件操作相关的系统调用:多用途的fcntl(),并展示其应用之一读取和设置打开文件的状态标志. 5.1 原子操作和竞争条件 所有系统调用都是以 ...
- 不规则ROI的提取
在网上看到基于opencv3.0之前的API实现不规则ROI的提取,我自己试了一下发现opencv3.0不行,第一想法是我写的有问题,最后发现是API的改版.原理很简单. 目标:提取黑线作为ROI 原 ...
- Flutter,最好的跨平台开发框架
今天说说使用flutter的一些体会 对于Flutter,从发现到接触再到使用,不知不觉,已经有大半年了!在这段时间里,谷歌几乎每天都会更新Flutter,有时甚至一天更新几次,这让我对它更加充满信心 ...
- uva-10305-水题-拓扑排序
输入n,m,n代表点数,m代表边数(i,j),排序时i在j前面,没出现的点随意排 #include <iostream> #include<stdio.h> #include& ...
- PHP过滤各种HTML标签的表达式,值得收藏
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- 迭代器iter()
from collections import Iterable print(isinstance({},iterable)) # 判断是否可迭代 from collections import It ...
- as2 loadClip
loadClip(url:String, target:Object) : Boolean target是直接被赋值,而不是add进去