$.HTTP =
{
getUrlParam : function (name)
{
var reg = new RegExp ("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr (1).match (reg);
if (r != null)
return unescape (r[2]);
return null;
},
/**
*
* @param opt
* opt.url,postdata, success, failure, error
*/
obj : function (opt)
{
var formData; if (opt.postType) {
switch (opt.postType) {
case "multipart":
formData = new FormData($(opt.formId)[0]);
break;
case "form":
formData = $.param(opt.ajaxData);
break;
case "json":
formData = JSON.stringify(opt.ajaxData);
break;
default:
return;
}
} else {
formData = opt.ajaxData;
} var sopt =
{
type : opt.type == undefined ? "post" : opt.type,
async : false,
url : opt.url,
data : formData,
dataType : "json",
success : function (json)
{
if (json.stat == 1)
{
if (opt.success != undefined)
opt.success (json.data);
}
else
{
if (opt.failure != undefined)
opt.failure (json);
else if (json.code != undefined)
{
$.HTTP.show_code_err (json);
}
else
{
console.log ("success不等于true 【url: " + opt.url + "】");
if (json.errorMessages != null && json.errorMessages.length > 0)
{
$.NOTIFY.showNotice ("错误", json.errorMessages[0]);
}
} } },
error : function (XMLHttpRequest, textStatus, errorThrown)
{
var info = "XMLHttpRequest:" + JSON.stringify (XMLHttpRequest) + " ;textStatus:" + textStatus
+ "; errorThrown:" + JSON.stringify (errorThrown) + "; 【" + opt.url + "】";
console.log (info);
if (opt.error != undefined)
opt.error (XMLHttpRequest, textStatus, errorThrown);
else
{
$.NOTIFY.showError ("请求错误", "系统发生请求错误,请联系管理员解决。");
}
}
}; if (opt.postType) {
switch (opt.postType) {
case "multipart":
sopt.async = false;
sopt.cache = false;
sopt.contentType = false;
sopt.processData = false;
break;
case "form":
sopt.contentType = 'application/x-www-form-urlencoded';
break;
case "json":
sopt.contentType = 'application/json';
sopt.dataType = "json";
break;
default:
return;
}
}
$.ajax (sopt);
},
list : function (opt)
{
var formData; if (opt.postType) {
switch (opt.postType) {
case "multipart":
formData = new FormData($(opt.formId)[0]);
break;
case "form":
formData = $.param(opt.ajaxData);
break;
case "json":
formData = JSON.stringify(opt.ajaxData);
break;
default:
return;
}
} else {
formData = opt.ajaxData;
} var sopt =
{
type : opt.type == undefined ? "get" : opt.type,
async : false,
url : opt.url,
data : opt.ajaxData,
dataType : "json",
success : function (json)
{
if (json.stat == 1)
{
if (opt.success != undefined)
opt.success (json.list, json.pageInfo);
}
else
{
if (opt.failure != undefined)
opt.failure (json);
else if (json.code != undefined)
{
$.HTTP.show_code_err (json);
}
else
{
console.log ("success不等于true 【url: " + opt.url + "】");
if (json.errorMessages != null && json.errorMessages.length > 0)
{
$.NOTIFY.showNotice ("错误", json.errorMessages[0]);
}
}
} },
error : function (XMLHttpRequest, textStatus, errorThrown)
{
var info = "XMLHttpRequest:" + JSON.stringify (XMLHttpRequest) + " ;textStatus:" + textStatus
+ "; errorThrown:" + JSON.stringify (errorThrown) + "; 【" + opt.url + "】";
console.log (info);
if (opt.error != undefined)
opt.error (XMLHttpRequest, textStatus, errorThrown);
else
{
$.NOTIFY.showError ("请求错误", "系统发生请求错误,请联系管理员解决。");
}
}
}; if (opt.postType) {
switch (opt.postType) {
case "multipart":
sopt.async = false;
sopt.cache = false;
sopt.contentType = false;
sopt.processData = false;
break;
case "form":
sopt.contentType = 'application/x-www-form-urlencoded';
break;
case "json":
sopt.contentType = 'application/json';
sopt.dataType = "json";
break;
default:
return;
}
} $.ajax (sopt);
},
show_code_err : function (json)
{
if (json.code == 1403)
{
$.NOTIFY.showLogin ();
return;
}
else if (json.errorMessages != undefined && json.errorMessages != null && json.errorMessages.length > 0)
{
$.NOTIFY.showNotice ("错误", json.errorMessages[0]);
} }
}

程序ajax请求公共组件-- app-jquery-http.js的更多相关文章

  1. 程序ajax请求公共组件app-jquery-http.js中url参数部分的项目应用

    结合微信登录以及微信支付的案例:= =||| (案例比较奇葩复杂) 简述项目流程: 1.获取用于公众号支付的openid(公众平台):在微信内置浏览器中打开网页链接,刚进入页面就通过微信公众平台获取该 ...

  2. 程序ajax请求公共组件:app-jquery-http.js

    // --------网络操作-------------------- $.HTTP = { getUrlParam : function(name) { var reg = new RegExp(& ...

  3. 详解Ajax请求(三)——jQuery对Ajax的实现及serialize()函数对于表单域控件参数提交的使用技巧

    原生的Ajax对于异步请求的实现并不好用,特别是不同的浏览器对于Ajax的实现并不完全相同,这就意味着你使用原生的Ajax做异步请求要兼顾浏览器的兼容性问题,对于java程序员来讲这是比较头疼的事情, ...

  4. Ajax请求(二)--JQuery的Ajax请求方法

    JQuery库的Ajax请求的几种方法: 1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. 参数含义: url (String ...

  5. ajax表单提交插件jquery.form.js的运用

    该插件提交的数据包含上传的图片. 1.先导入jquery.form.js 2.form表单的元素: <form id="form2_form" method="po ...

  6. Sping MVC不使用任何注解处理(jQuery)Ajax请求(基于XML配置)

    1. Spring Spring框架是一个轻量级的解决方案,是一个潜在的一站式商店,用于构建企业就绪的应用程序.Spring框架是一个Java平台,为开发Java应用程序提供全面的基础架构支持.Spr ...

  7. Angular和jQuery的ajax请求的差别

    近期项目中使用angular,结果发现后台没法获取參数,所以,略微研究了一下两者在发送ajax时的差别. 注意angular和jquery的ajax请求是不同的. 在jquery中,官方文档解释con ...

  8. Struts2处理(jQuery)Ajax请求

    1. Ajax     Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)时一种创建交互式网页应用的网页开发技术,它并不是一项新的技术,其产生 ...

  9. jQuery实现的分页功能,包括ajax请求,后台数据,有完整demo

    一:需求分析 1)需要首页,末页功能 2)有点击查看上一页,下一页功能 3)页码到当前可视页码最后一页刷新页面 二:功能实现思路 也是分为三部分处理 1)点击首页,末页直接显示第一页或者最后一页内容, ...

随机推荐

  1. Qt之操作系统环境

    来源:http://blog.sina.com.cn/s/blog_a6fb6cc90102uy9k.html Qt中操作系统环境,官方解释如下: QStringList QProcess::syst ...

  2. 详细的SQL中datediff用法

    DATEDIFF 函数 [日期和时间] 功能返回两个日期之间的间隔. 语法DATEDIFF ( date-part, date-expression-1, date-expression-2 ) da ...

  3. HUD 1541/BIT(数状数组)

    题目链接 /* 按从左到右,从下到上的顺序给出星星的坐标,计算出level为[0,n)的星星的个数. 星星的level为该星星左下边(包括自己正下方的星星,但是不包括自己)星星的个数. BIT模板题. ...

  4. 简单hash[或者是哈希思想]

    题目链接 /* 有一个长度为n的只包含小写字母的字符串s,有m次操作,每次输入2个字符 A , B表示将s中的全部字符A变成B,B变成A. char sky[30],顺序记录每个字母的映射,在sky[ ...

  5. 多线程进阶之并发工具类:CountDownLatch、CyclicBarrier

    并发工具类在java.util.concurrent包下.常用的有CountDownLatch.CyclicBarrier,用它们可以控制并发流程. 1.CountDownLatch探究: 主要用到其 ...

  6. ReactiveCocoa & FRP & MVVM

    Functional Reactive Programming(以下简称FRP)是一种响应变化的编程范式.先来看一小段代码 a = 2 b = 2 c = a + b // c is 4 b = 3 ...

  7. 基础-session,cookie,jsp,EL,JSTL

    会话可以简单理解为:用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. kookie是在服务器端创建的,返回给浏览器,在浏览器的目录中保存了,下一次 ...

  8. [转]Android Shape渲染的使用(经典,学习研究不后悔)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mzh3344258.blog.51cto.com/1823534/1215749 ...

  9. jQuery 图片随滚动条滚动加载

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. cocos2d-x 3.10 显示Box2d 调试视图

    1.将cocos2d-x-3.10\tests\cpp-tests\Classes\Box2DTestBed目录下的GLES-Render.h和GLES-Render.cpp拷贝到当前项目的Class ...