js的ajax扩展插件开发与编写
ajaxSetup() 方法为将来的 AJAX 请求设置默认值。
(function (window, $) {
/**统一处置ajax 的一些事件 和参数*/
function _ajaxSetup() {
$(document).ajaxStart(function () {
window.ajaxruning = true;
$Core.IsAjaxTimeOut = false;
$Core.Loading.AjaxLoadingStart();
//console.log("documentStart");
}).ajaxStop(function () {
window.ajaxruning = false;
$Core.Loading.HideAjaxLoading();
//console.log("documentStop");
}).ajaxError(function (event, XMLHttpRequest, ajaxOptions, thrownError) {
$Core.Loading.HideAll();
if (thrownError === "timeout") {
$Core.IsAjaxTimeOut = true;
showError(ajaxOptions, "timeout", "请求超时,请检查您的网络连接!");
return;
}
showError(ajaxOptions, XMLHttpRequest.status, XMLHttpRequest.responseText);
});
//这里设置统一的头信息
$.ajaxSetup({
beforeSend: function (xhr) {
//alert(this.url);
if (this.url) {
if (!this.url.contains("http"))
this.url = $Core.SERVICEPATH() + this.url;
}
},
//dataType: "josn",
headers: {
'token': $Core.USER().TOKEN,
'appid': $Core.APPID
},
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
timeout: $Core.Config.ajaxTimeout,
cache: false,
//xhrFields: {
// withCredentials: true
//},
//dataType:"json",
crossDomain: true,
complete: function (XHR, TS) {
if (TS === "success") {
var result = XHR.responseJSON;
if (result && result.code) {
if (result.code == "500") {
showError(this, 500, result.msg);
return false;
}
else if (result.code == "401") { //登录信息失败
showError(this, 401, "您的登录信息已经失效,请重新登录系统!", $Core.TimeOut);
return false;
}
else if (result.code == "403") { //资源信息失败
return false;
}
}
}
//console.log(XHR, TS);
}
});
}
/*************************************ajaxEnd***************************************/
_ajaxSetup();
})(window, jQuery);
function showError(ajaxOpts, errorCode, errorMsg, callback) {
var topwin = window;
if (topwin.iserrorshow) return;
topwin.iserrorshow = true;
var msg = "{1} 错误号:{0} 请求地址:{2}".format(errorCode,
$.string.isNullOrWhiteSpace(errorMsg) ? "系统出现了一个未指明的错误,如果该问题重复出现,请联系您的系统管理员并反馈该故障。"
: errorMsg,
ajaxOpts.url
);
if (topwin.layer) {
topwin.layer.open({
title: '错误提醒',
type: 0,
fixed: false, //不固定
maxmin: false,
content: msg,
end: function (index, layero) {
winClose();
}
});
}
else {
alert(msg);
winClose();
}
var winClose = function () {
topwin.iserrorshow = false;
if (callback !== undefined)
callback();
};
}
//禁止表单回车自动提交
$(function () {
$("form input").keydown(function () {
if (event.keyCode == 13) { return false };
});
});
$.ajaxSetup({
//dataType: "josn",
headers: {
'appid': $Core.APPID
},
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
timeout: 10000,
cache: false,
//xhrFields: {
// withCredentials: true
//},
crossDomain: true
});
$(document).ajaxError(function (event, XMLHttpRequest, ajaxOptions, thrownError) {
$Core.Loading.HideAll();
if (thrownError === "timeout") {
alert("网络连接超时,请稍后重试!")
return;
}
alert("网络连接异常,请稍后重试!" + XMLHttpRequest.responseText);
});
$(function () {
//var user = $Core.USER();
//if (user != null) {
// location.href = "main.html";
// return;
//}
$("#pageloading").fadeOut();
// $Core.Loading.HideAll();
//login
$("#btnLogin").click(function () {
debugger;
var ucode = $("#userCode").val();
var pass = $("#passWord").val();
$.post($Core.SERVICEROOT()+"login", { usercode: ucode, userpass: pass },
function (result) {
console.log(result);
if (result.code === 0) {
var udata = result.data;
var userinfo = {};
userinfo.USERID = udata.userId;
userinfo.USERNAME = udata.userName;
userinfo.DEPID = udata.orgId;
userinfo.DEPNAME = udata.orgName;
userinfo.OrgManageDataCode = udata.orgManageDataCode;
userinfo.TOKEN = udata.token;
userinfo.orgLevel = udata.orgLevel;
//userinfo.RESOURCELIST = udata.resourceList;
userinfo.OrgDataCode = udata.orgDataCode;
$Core.Login(userinfo);
location.href = "main.html";
} else {
alert(result.msg);
}
});
});
});
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@RequestMapping(value="/login")
public AssembleJSON login(HttpServletRequest request, HttpServletResponse response){
String usercode = request.getParameter("usercode");
String userpass = request.getParameter("userpass");
String appid = request.getHeader("appid");
}