App.js
/**
* 1,定制组件
* 2,对应cookie中的全局变量
* 3,jquery扩展方法及对验证规则的扩展
* @author wWX235558
*/
define(['jquery'], function ($) {
var App = {
token720: '',
user: {},
maps: []
};
/**
* 定义一个模块
* @param moduleName 模块名称
* @param fn 模块体
*/
App.defineModule = function (moduleName, fn) {
!(function($, b) {
if (typeof define === "function" && define.amd) {
define(['jquery', 'core/core'], b);
} else {
b($);
}
}(jQuery, function() {
var args = this.arguments;
//console.log(args);
return fn(args.slice(2));
}));
};
App.initAjax = function () {
$("#loading").bind("ajaxSend", function () {
$(this).show();
}).bind("ajaxComplete", function () {
$(this).hide();
});
$.ajaxSetup({
global: true,
cache: false,
dataType: "json",
contentEncoding: "gzip",
contentType: 'application/json',
headers: {
/* "Access-Token": App.token720 ? App.token720 : "",
"Prefer_Lang": window.mac && mac.Lang*/
}
});
};
return App;
});
core.js
/**
* mac.core 1.2
*/
(function () {
define([
'App'
], function (App) {
window.App = App;
App.initAjax();
/****************************************jquery validate的扩展*************************************************/
if (jQuery)(function ($) {
/**
* jQuery 静态方法扩展
*/
$.extend({
/**
* Ajax调用扩展
*
* @param url {string} 链接地址
* @param params
* @param callback
* @param error
* @param async true:异步 | false:同步
*/
omcAjax: function (url, params, callback, error, async) {
params.token720 = "";
$.ajax({
type: "POST",
url: url,
data: JSON.stringify(params),
//timeout : 120000,
async: async,
success: function (data) {
if (callback)
callback(data);
},
error: error || function (data) {
}
});
},
/**
* 获取加载对象中指定参数名称的值
* @param action {Object} 加载对象
* @param name {String} 参数名称
* @returns {Object} 返回值
*/
});
/**
* jQuery对象方法扩展
*/
$.fn.extend({
mac: function () {
var func = arguments[0];
arguments[0] = this;
return eval('mac.' + func).apply(this, arguments);
},
seek: function (name) {
return $(this).find('[name=' + name + ']');
}
});
})(jQuery);
/*****************************************************原型扩展**************************************************
* @param {Object} target 目标对象。
* @param {Object} source 源对象。
* @param {boolean} deep 是否复制(继承)对象中的对象。
* @returns {Object} 返回继承了source对象属性的新对象。
*/
Object.extend = function (target, source, deep) {
target = target || {};
var sType = typeof source, i = 1, options;
if (sType === 'undefined' || sType === 'boolean') {
deep = sType === 'boolean' ? source : false;
source = target;
target = this;
}
if (typeof source !== 'object' && Object.prototype.toString.call(source) !== '[object Function]')
source = {};
while (i <= 2) {
options = i === 1 ? target : source;
if (options != null) {
for (var name in options) {
var src = target[name], copy = options[name];
if (target === copy)
continue;
if (deep && copy && typeof copy === 'object' && !copy.nodeType)
target[name] = this.extend(src ||
(copy.length != null ? [] : {}), copy, deep);
else if (copy !== undefined)
target[name] = copy;
}
}
i++;
}
return target;
};
/**
* 字符串(String)原型对象扩展
*/
Object.extend(String, {});
Object.extend(String.prototype, {
/**
* 从字符串中左、右或两端删除空格、Tab、回车符或换行符等空白字符
* @author cWX235881
*/
trim: function () {
return this.replace(/(^\s*)|(\s*$)/g, "");
},
ltrim: function () {
return this.replace(/(^\s*)/g, "");
},
rtrim: function () {
return this.replace(/(\s*$)/g, "");
},
/**
* HTML转义字符
*/
replaceHTMLChar: function () {
return this.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/ /g, ' ').replace(/"/g, 'x22').replace(/'/g, 'x27');
},
/**
* 转义特殊字符
*/
replaceIllegalChar: function () {
return this.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/ /g, ' ').replace(/x22/g, '"').replace(/x27/g, ''');
},
/**
* 以指定字符串匹配字符串头部或尾部,相同时返回true
* @author cWX235881
*/
endWith: function (str) {
if (str == null || str == "" || this.length == 0
|| str.length > this.length)
return false;
return (this.substring(this.length - str.length) == str);
},
startWith: function (str) {
if (str == null || str == "" || this.length == 0
|| str.length > this.length)
return false;
return (this.substr(0, str.length) == str);
},
/**
* 获取URL传递参数中指定参数名称的值
* @param name {String} 参数名称
* @returns {Object} 返回值
*/
getValue: function (name) {
var regex = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var b = this.substr(this.indexOf("\?") + 1).match(regex);
if (b && b != null) return unescape(b[2]);
return null;
},
/**
* 对数字字符串格式进行小数截断
* @param length {Int} 小数截断位数
*/
fixed: function (length) {
if (isNaN(this))
return this;
return parseFloat(Number(this).fixed(length));
},
/**
* 对数字格式进行单位转换
* @param length {Int} 转换的比率,默认为4,如4:相当于处以10000
*/
unit: function (length) {
if (isNaN(this))
return 0;
return parseFloat(Number(this).unit(length));
},
/**
*
*/
format: function () {
var value = this;
var source = value.replace(/,/g, '').split('.');
source[0] = source[0].replace(/(\d)(?=(\d{3})+$)/ig, '$1,');
return source.join('.');
},
/**
* 判断字符串中是否包含指定字符串
*/
contains: function (str) {
var value = this;
return value.indexOf(str) > -1;
},
encrypt: function () {
var result = "";
if (this == undefined || this == null || this == "") {
return undefined;
}
var length = this.length;
var charArray = [];
for (var i = 0; i < length; i++) {
charArray[i] = this.charCodeAt(i);
charArray[i] = charArray[i] * 2;
}
return charArray.toString().replace(/,/g, "@");
}
});
/**
* 日期时间(Date)原型对象扩展
*/
Object.extend(Date, {});
Object.extend(Date.prototype, {
/**
* 时间格式化
* @param fmt {String} 格式字符串,如:'%Y-%M-%d %H:%m:%s %S'
* (%Y:4位年,%M:2位月,%d:2位日,%H:24小时制时,%m:2位分,%s:2位秒,%S:3位毫秒)
* @return {String} 指定日期格式字符串(如:2014-12-12 22:22:22:234)
*/
format: function (fmt) {
var date = this;
var dateData = {
year: date.getFullYear(),
month: (date.getMonth() + 1) < 10 ? "0" + (date.getMonth() + 1) : (date.getMonth() + 1),
day: date.getDate() < 10 ? "0" + date.getDate() : date.getDate(),
hours: date.getHours() < 10 ? "0" + date.getHours() : date.getHours(),
minutes: date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(),
seconds: date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds(),
mSeconds: date.getMilliseconds()
};
return fmt.replace('%Y', dateData.year)
.replace('%M', dateData.month)
.replace('%d', dateData.day)
.replace('%H', dateData.hours)
.replace('%m', dateData.minutes)
.replace('%s', dateData.seconds)
.replace('%S', dateData.mSeconds);
},
format: function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
});
/**
* 数组(Array)原型对象扩展
*/
Object.extend(Array, {});
Object.extend(Array.prototype, {
/**
* 获取数组中的最大值
* @returns {number}
*/
max: function () {
return Math.max.apply(Math, this);
},
/**
* 获取数组中的最小值
* @returns {number}
*/
min: function () {
return Math.min.apply(Math, this);
},
/**
* 判断数组中是否包含某个元素
* @param obj {*}
*/
contains: function (obj) {
var i = this.length;
while (i--) {
if (this[i] == obj) {
return true;
}
}
return false;
},
/**
* 删除数组中是某个值得所有元素
* @param val {*}
*/
removeAll: function (val) {
var temp = this.slice(0);
var i = temp.length;
while (i--) {
if (temp[i] === val) {
temp.splice(i, 1);
}
}
return temp;
},
/**
* 获取数组中是某个值的元素序列号
* @param val {*}
*/
indexOf: function (val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) {
return i;
}
}
return -1;
},
/**
* 删除数组中是某个值的元素
* @param val {*}
*/
remove: function (val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
}
});
/**
* 数值(Number)原型对象扩展
*/
Object.extend(Number, {});
Object.extend(Number.prototype, {
format: function () {
var value = this + '';
var source = value.replace(/,/g, '').split('.');
source[0] = source[0].replace(/(\d)(?=(\d{3})+$)/ig, '$1,');
return source.join('.');
},
/**
* 对数字格式进行小数截断
* @param length {int} 小数截断位数,默认为0
*/
fixed: function (length) {
if (isNaN(this))
return 0;
var s = Math.pow(10, Math.abs(parseInt(length || 0)));
return parseFloat(Math.round(this * s) / s);
},
/**
* 对数字格式进行单位转换
* @param length {int} 转换的比率,默认为4,如4:相当于处以10000
*/
unit: function (length) {
if (isNaN(this))
return 0;
var len = 4;
if (length) {
len = length;
}
var num = 1;
for (var i = 0; i < Math.abs(len); i++) {
num *= 10;
}
if (len > 0) {
return parseFloat(this / num);
} else {
return parseFloat(this * num);
}
}
});
/**
* 加载系统页面(系统模块入口)
*/
mac.loadSystem = function () {
if(window.location.pathname=="/changeMenu/changeMenu.html"){
return;
}
//license 提示
App.showLicense();
App.initValidate();
if (Funsionwebsocket != undefined) {
Funsionwebsocket.close();
}
$.omcAjax("/jk/info", {}, function (data) {
if (data.success) {
var url = data.data;
SockJs.init(url); //初始化websocket
}
});
var enterPath = omc.login;
var title = Msg.systemName;
var bdy = $('#main_view');
Msg.wind.ip = "";
//在cookie里面设置登陆类型,后端根据不同的类型进行不同的流程跳转
Cookies.set("loginType720", "SSO");
var isUserInDomain = true; //当前用户是否在该域中
//设置多权限sid,集团多权限,资源多权限sids
$.omcAjax("/groupSystem/setSids", {}, function (data) {
if (data.success) {
App.stationIds = data.data;
} else {
$.omcAlert(data.data, function () {
$.omcAjax("/groupSystem/logout", {}, function (data) {
var ro = data;
if (ro.success && ro.data != '') {
var rec = ro.data.CasServerUrl + "/logout?service=";
rec = rec + ro.data.ServerName;
rec = encodeURI(rec);
rec = rec + "/index.html?t=";
rec = rec + new Date().getTime();
window.location.href = rec;
}
//Cookies.clear("token720");
Cookies.clear("loginType720");
//Cookies.clear("user");
Cookies.clear("loadUrl");
});
});
isUserInDomain = false;
}
}, null, false);
$.omcAjax("/groupSystem/auth", {}, function (data) {
/*var screenType=App.stationIds.groupType;*/
if (data.success) {
if (data.data.userType == "main") {
omc.systemMenu = data.data.listMenu;
omc.goToButtons = data.data.listButtons;
enterPath = omc.main;
if (data.data.gsNameKey == Msg.subSystemName || data.data.gsNameKey ==null ) {
title = Msg.systemName + " " + Msg.subSystemName ;
}else {
title = Msg.systemName + " " + data.data.gsNameKey ;
}
} else if (data.data.userType == "innerUser") {
enterPath = omc.household;
}
if (data.data && data.data.sessionid) {
Cookies.setSessionid(data.data.sessionid);
}
if (Cookies.isGeMaxSize()) {
Cookies.clearOne();
}
enterPath = Cookies.get("loadUrl") || enterPath;
var _date = new Date();
_date.setDate(_date.getDate() + 1);
App.token = data.params[0];
App.majorServerIp = data.params[1];
App.user = data.data.user;
App.group = data.data.group;
if(data.data.windIp.indexOf('127.0.0.1') == -1){
Msg.wind.ip = data.data.windIp;
}
//Cookies.set("token720", App.token);
//Cookies.set("group", App.group);
}
else {
location.href = data.data.url;
}
}, null, false);
// TODO 获取电站状态配置
$.omcAjax("/groupParameter/getByIds", {
keys: ['stationStatus_0', 'stationStatus_1', 'stationStatus_2', 'stationStatus_3', 'gsNameKey',
'systemLogo', 'loginBackground', 'systemNameKey', 'mediaUploadKey', 'largeScreenAreaSwitchingTime', 'largeScreenMode', 'carouselInterval'],
order: 'asc'
}, function (data) {
if (data.success) {
if (data.params && data.params.length > 0) {
Cookies.setSessionid(data.params[0]);
}
if (data.data && data.data.length > 0) {
var stationStatus = [];
for (var i = 0; i < data.data.length; i++) {
var key = data.data[i]['paramKey'];
if (key == 'gsNameKey') {
Msg.gs.title = data.data[i]['paramValue'];
}
else if (key == 'systemLogo') {
Msg.systemLogo = data.data[i]['paramValue'];
}
else if (key == 'loginBackground') {
Msg.loginBackground = data.data[i]['paramValue'];
}
else if (key == 'mediaUploadKey') {
Msg.directVideo = data.data[i]['paramValue'];
}
else if (key == 'systemNameKey'
&& data.data[i]['paramValue'] && data.data[i]['paramValue'].trim().length > 0) {
Msg.subSystemName = data.data[i]['paramValue'];
}
else if (key == 'largeScreenAreaSwitchingTime') {
Msg.largeScreenAreaSwitchingTime = data.data[i]['paramValue'];
}
else if (key == 'largeScreenMode') {
Msg.largeScreenMode = data.data[i]['paramValue'];
}
else if (key == 'carouselInterval') {
Msg.carouselInterval = data.data[i]['paramValue'];
}
else {
stationStatus[+(key.split('_')[1])] = data.data[i]['paramValue'];
}
}
Msg.sm.psm.status_value = stationStatus;
}
}
//如果数据库连接失败将会弹出异常信息
else if (data != null) {
$.omcAlert(data.data.message);
}
}, null, false);
if (!isUserInDomain) return;
var styleList = [];
var prevLoad;
if (enterPath.indexOf('plants') != -1) {
styleList = ['css!/plants/css/css.css'];
}
else if (enterPath.indexOf('demostration') != -1) {
styleList = ['css!/demostration/css/css.css'];
}
else if (enterPath.indexOf('gs') != -1) {
styleList = ['css!/main/gs/css/gs.css'];
}
else if (enterPath.indexOf('hh') != -1) {
styleList = ['css!/main/hh/css/ownerDetail.css'];
prevLoad = function () {
if (Msg.loginBackground) {
var bg = new Image();
bg.src = '/temp/system/image/' + Msg.loginBackground;
bg.onload = function () {
setTimeout(function () {
$('#main_view').css('background-image', 'url(/temp/system/image/' + Msg.loginBackground + ')');
}, 1000);
};
}
};
}
else {
styleList = [
"css!/main/sm/ms/mapSettingManager.css",
"css!/main/sm/license/licenseManager.css",
"css!/main/sm/logManagment/logManager.css",
"css!/main/sm/fm/fileManager.css",
"css!/main/ckpi/css/page.css",
"css!/main/default/css/default.css",
"css!/main/default/page/css/powerAmount.css",
"css!/main/default/page/css/envi.css",
"css!/main/default/page/css/operationStatistics.css",
"css!/main/default/page/css/powerPlan.css",
"css!/main/default/page/css/powerPlant.css",
"css!/main/default/page/css/powerPr.css",
"css!/main/pskpi/css/powerStationQuota.css",
"css!/main/pskpi/css/KPIWorkTicketMonth.css",
"css!/main/pskpi/css/KPILossAnalysis.css",
"css!/main/pskpi/css/KPIAlarmMonth.css",
"css!/main/pskpi/css/KPIInefficientInverter.css",
"css!/main/pskpi/css/KPIPowerAmount.css",
"css!/main/pskpi/css/KPIPowerPlan.css",
"css!/main/wa/css/createRpTemp.css",
"css!/main/hh/css/ownerDetail.css",
"css!/main/mm/css/ticket.css"
];
prevLoad = function () {
if (Msg.loginBackground) {
var bg = new Image();
bg.src = '/temp/system/image/' + Msg.loginBackground;
bg.onload = function () {
setTimeout(function () {
$('#main_view').css('background-image', 'url(/temp/system/image/' + Msg.loginBackground + ')');
}, 1000);
};
}
};
}
require(styleList, function () {
bdy.omcLoad(enterPath, {}, prevLoad);
});
document.title = title;
i18n.initData(mac.Lang, Msg);
mac.setLanguage(mac.Lang);
};
/**
* 切换多语言
*/
mac.switchLanguage = function (langValue) {
var data = {"lang": langValue};
Cookies.set("Prefer_Lang", langValue);
$.ajax({
type: "POST",
url: "/i18n/switchlang",
async: true,
data: JSON.stringify(data),
success: function (data) {
if (data.success) {
var lang = eval('(' + data.data.data + ')');
Msg = lang.Msg;
mac.Lang = data.data.lang;
App.initAjax();
mac.loadSystem();
}
},
error: function () {
document.location.reload();
}
});
};
mac.getMousePos = function (e) {
var e = e || window.event, d = document
, de = d.documentElement, db = d.body;
return {
x: e.pageX || (e.clientX + (de.scrollLeft || db.scrollLeft)),
y: e.pageY || (e.clientY + (de.scrollTop || db.scrollTop))
};
};
mac.eval = function (str) {
var r;
try {
r = eval('(' + str + ')');
} catch (e) {
}
return r ? r : str;
};
mac.getMsg = function (msg, params) {
if (params && params.length)
for (var i = 0; i < params.length; i++)
msg = msg.replace('{' + i + '}', params[i]);
return msg;
};
/**
* set language
*/
mac.setLanguage = function (lan) {
$('.text').each(function (n, c) {
var ec = $(c);
var msg = ec.html();
if (msg && msg.length > 4 && msg.substr(0, 4) == 'Msg.')
ec.html(mac.eval(msg));
});
$("input.text[placeholder]").each(function (i, e) {
var p = $(e).attr("placeholder");
var n = "";
try {
n = mac.eval(p);
} catch (e) {
n = p;
}
$(e).attr("placeholder", n);
});
$("textarea.text[placeholder]").each(function (i, e) {
var p = $(e).attr("placeholder");
var n = "";
try {
n = mac.eval(p);
} catch (e) {
n = p;
}
$(e).attr("placeholder", n);
});
$(".text[title]").each(function (i, e) {
var p = $(e).attr("title");
var n = "";
try {
n = mac.eval(p);
} catch (e) {
n = p;
}
$(e).attr("title", n);
});
i18n.setLanguage(lan || mac.Lang || 'zh');
};
/**
* form id
*/
mac.init = function (id, data) {
$("#" + id + " :input").each(function () {
var name = $(this).attr('name');
if (name && data[name]) {
$(this).val(data[name]);
}
});
};
mac.findChlidrenId = function (id) {
var l = omc.systemMenu.length;
var arr = [];
for (var i = 0; i < l; i++) {
(function () {
var jsonArray = arguments[0];
for (var k in jsonArray) {
if ((k.indexOf('children') != -1 && jsonArray[k] != null) || !isNaN(k)) {
arguments.callee(jsonArray[k]);
} else {
if (k == 'qtip' && jsonArray[k] == id) {
arr.push(jsonArray["id"]);
}
}
}
})(omc.systemMenu[i]);
}
var ids = [];
var n = 0;
for (var i = 0; i < arr.length; i++) {
var idi = {};
idi.pid = id;
idi.id = arr[i];
ids[n++] = idi;
}
return ids;
};
mac.initCurrentTime = function () {
var currentTimer;
var getCurrentTime = function () {
//$('.currentTimeShow').text(new Date().toLocaleString());
$.omcAjax('epmsDate/getCurrentTime', {}, function (res) {
if (res.success) {
var now = Date.parse(res.data);
clearInterval(currentTimer);
currentTimer = setInterval(function () {
now += 1000;
var dateFormat = "yyyy-MM-dd hh:mm:ss";
var lang = (mac.Lang && mac.Lang.indexOf('zh') > -1 ? 'zh_cn' : 'en');
if (mac.Lang == 'uk'){lang = 'uk';}
if (lang == "en") {
dateFormat = 'hh:mm:ss MM/dd/yyyy';
}else if(lang == "uk"){
dateFormat = 'dd/MM/yyyy hh:mm:ss';
}
$('.currentTimeShow').text(new Date(now || Date.now()).format(dateFormat));
}, 1000);
}
});
};
getCurrentTime();
setInterval(getCurrentTime, 10 * 60 * 1000);
};
mac.exeLogout = function () {
//Cookies.clear("token720");
Cookies.clear("loginType720");
//Cookies.clear("user");
Cookies.clear("loadUrl");
$.omcAjax("/groupSystem/logout", {}, function (data) {
var ro = data;
if (ro.success && ro.data != '') {
var rec = ro.data.CasServerUrl + "/logout?service=";
rec = rec + ro.data.ServerName;
rec = encodeURI(rec);
rec = rec + "/index.html?Prefer_Lang=";
// rec = rec + new Date().getTime();
rec = rec + mac.Lang;
window.location.href = rec;
}
});
};
/**
* 注销客户
*/
mac.logout = function () {
App.confirm({
title: Msg.info,
message: Msg.logoutInfo
}, function () {
mac.exeLogout();
});
};
/***********************************************************************************/
/**
* 获取系统根网络路径
* @returns {string}
*/
var rootPath = function () {
var html = window.location.href;
var host = window.location.host;
return html.substring(0, html.lastIndexOf(host) + host.length + 1);
};
/**
* 获取浏览器类型
* @returns {Object}
*/
var getBrowser = function () {
var browser = $.browser;
if (!browser) {
function uaMatch(ua) {
ua = ua.toLowerCase();
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
/(msie) ([\w.]+)/.exec(ua) ||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
[];
return {
browser: match[1] || "",
version: match[2] || "0"
};
}
var matched = uaMatch(navigator.userAgent);
browser = {};
if (matched.browser) {
browser[matched.browser] = true;
browser.version = matched.version;
}
// 区分 Chrome 和 Safari
if (browser.chrome) {
browser.webkit = true;
} else if (browser.webkit) {
browser.safari = true;
}
}
return browser;
};
var StringUtil = {
/**
* 字符串格式化
* 例子:
* "{0}{1}".format("hello", "world");
*/
format: function () {
if (arguments.length == 0) {
return null;
}
var formatStr = arguments[0];
for (var i = 1; i < arguments.length; i++) {
formatStr = formatStr.replace(new RegExp('\\{' + (i - 1) + '\\}', 'gm'), arguments[i]);
}
return formatStr;
}
};
window.StringUtil = StringUtil;
return {
rootPath: rootPath,
getBrowser: getBrowser,
StringUtil: StringUtil
};
});
})();
main.js
/**
* Created by PL02053 on 2016/3/10.
*/
require.config({
urlArgs: '_=' + (new Date()).getTime(),
baseUrl: '/js/',
paths: {
/*'d3': 'd3.v3.min',*/
'jquery': 'jquery',
'json2': 'json2',
'cookie': 'jquery/Cookies',
'i18n': '../language/i18n',
'App':"core/App",
'core':"core/core"
},
waitSeconds: 0
});
require([
'jquery'
], function () {
(function ($) {
require([
'i18n', 'json2','jquery', 'cookie','App'
], function (i18n) {
require(['core'],function (core) {
/* $.omcAjax("/user/delDepartment.do", [
{ "stuId": 1, "stuName": "li","stuSex":"man"},
{ "stuId": 2, "stuName": "hai","stuSex": "man"},
{ "stuId": 3, "stuName": "feng", "stuSex":"man"}
], function (data) {
});*/
$.omcAjax("/user/delDepartment", {
"stuId": 1,
"stuName": "li",
"stuSex":"man"
}, function (data) {
});
})
/* $.ajax({
url:'/delDepartment.do',
type:'POST', //GET
async: true,
data: JSON.stringify({'name':'test','passwd':'123456'}),
timeout:5000, //超时时间
// dataType:'json', //返回的数据格式:json/xml/html/script/jsonp/text
beforeSend:function(xhr){
console.log(xhr)
console.log('发送前')
},
success:function(data,textStatus,jqXHR){
console.log(data)
console.log(textStatus)
console.log(jqXHR)
},
error:function(xhr,textStatus){
console.log('错误')
console.log(xhr)
console.log(textStatus)
},
complete:function(){
console.log('结束')
}
})*/
//获取设置sessionid
/* $.ajax({
type: "POST",
url: "/admin/users",
data: JSON.stringify({keys: ['systemLogo']}),
async: false,
dataType: "json",
contentEncoding: "gzip",
contentType: 'application/json',
success: function (data) {
if (data.success) {
if (data.params && data.params.length > 0) {
Cookies.setSessionid(data.params[0]);
}
}
}
});*/
});
})(jQuery);
/********************************************************************************************************************************/
/* function test(){
$.ajax({
//提交数据的类型 POST GET
type:"POST",
//提交的网址
url:"/delDepartment.do",
//提交的数据
data:{Name:"sanmao",Password:"sanmaoword"},
//返回数据的格式
datatype: "html",//"xml", "html", "script", "json", "jsonp", "text".
//在请求之前调用的函数
beforeSend:function(){},
//成功返回之后调用的函数
success:function(data){
alert(11111111111);
} ,
//调用执行后调用的函数
complete: function(XMLHttpRequest, textStatus){
alert(XMLHttpRequest.responseText);
alert(textStatus);
//HideLoading();
},
//调用出错执行的函数
error: function(){
//请求出错处理
}
});
}*/
/* $.ajax({
url : "http://localhost:8080/user/delDepartment.do",
type : "POST",
contentType: "application/json;charset=utf-8",
data : JSON.stringify({
"Student": [
{ "stuId": 1, "stuName": "li","stuSex":"man"},
{ "stuId": 2, "stuName": "hai","stuSex": "man"},
{ "stuId": 3, "stuName": "feng", "stuSex":"man"}
]
}),
// dataType : "text",
dataType : "json",
success : function(result) {
alert(111111111111)
},
error:function(msg){
alert(222222222222)
}
})*/
/*$.ajax({
type : 'POST',
contentType : 'application/json',
url : 'user/add.do',
data : $.toJSON({}),
dataType : 'json',
success : function(data) {
alert("新增成功!");
},
error : function(data) {
alert("error")
}
});*/
});
分享到:
相关推荐
在"springmvc前台框架实例"中,我们将探讨如何运用Spring MVC构建前端界面并处理用户输入。 首先,Spring MVC的核心组件包括DispatcherServlet、Controller、Model、View和ViewResolver。DispatcherServlet是入口点...
"springMVC前台传数组类型,后台用list类型接收实例代码" SpringMVC是基于Java的Web应用程序框架,它提供了强大的MVC架构模式,以便于开发Web应用程序。在SpringMVC中,前台传递数组类型数据到后台,并用List类型...
在本文中,我们将深入探讨如何将Spring MVC框架与Tiles2框架集成,以便实现在Web应用程序中的页面模板和局部刷新功能,同时确保浏览器自适应高度。Tiles2是一个强大的视图层框架,它允许开发者创建可重用的页面组件...
Spring MVC 是一个强大的Java web框架,它提供了丰富的功能来处理前端与后端的数据交互。... 1. **基本数据类型**: 当需要传递简单类型如`int`, `String`等时,可以直接在控制器方法中声明这些类型的参数。...
SpringMVC接收前台传递过来的值的实例 SpringMVC是一种流行的Java Web开发框架,用于构建Web应用程序。在SpringMVC中,接收前台传递过来的值是一种常见的操作。本文将为大家分享SpringMVC接收前台传递过来的值的...
在这个描述中,我们可以看到 SpringMVC POI Excel 生成导出是一个完整的过程,从前台写法到 controller 写法再到 service 写法。这个过程涉及到多个技术点,包括 SpringMVC 框架、POI 库、Excel 文件格式等。 标签...
本资源是本人将SpringMVC + jQuery easy ui整合的CRUD demo,后台核心是spring注解实现的(通过jsbcTemplate连接数据库),前台有基本的jsp和easy ui 两种展现方式,数据库使用oracle,可以通过更改配置文件和驱动jar...
在SpringMVC中,从前台向后台传递数据可以通过请求参数或模型属性的方式实现。请求参数适用于简单的键值对,而模型属性则适用于需要将多个参数绑定到一个复杂对象的情况。理解并灵活运用这两种方式,可以更高效地...
SpringMVC如何实现向前台传递数据 SpringMVC是一种基于Java的Web应用程序框架,它提供了多种方式来实现向前台传递数据。下面将详细介绍四种常见的数据传递方式。 1. 通过Map、Model、ModelMap对象传递数据 在...
确保所有依赖库都已引入,并正确配置SpringMVC,以实现后台与前台之间的顺利JSON数据交互。在实际项目中,还可能需要考虑JSON安全问题,例如防止XSS和CSRF攻击,以及优化性能,如使用GZIP压缩等。
SSH 是 Spring、SpringMVC 和 Hibernate 这三个流行的 Java 开发框架的组合,它们在企业级应用开发中扮演着重要角色。Spring 提供了强大的依赖注入(DI)和面向切面编程(AOP)功能,SpringMVC 作为 MVC 设计模式的...
项目描述 系统分为前台用户界面和后台系统管理: 1. 前台用户界面 ... 查看房源明细、发布房源、提交合同、新闻公告、留言交流 2. 后台系统管理 ... 用户管理:用户列表、用户...SpringMVC+mybatis+bootstrap+jQuery+JSP
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,用于构建动态的、数据驱动的 Web 应用程序。在本文中,我们将深入探讨 Spring MVC 如何获取前端发送的请求数据,这涉及到从简单的基本类型到复杂对象以及数组和...
简单实现的功能是:mysql中有user表,从页面访问,然后springMVC的控制类负责控制跳转,最终执行dao类对应的mybits配置文件中mapper文件中对应的sql语句,然后返回结果并传给前台。 以下是复制readMe.txt: 如果需要...
解决SpringMVC关于前台日期作为实体类对象参数类型转换错误的问题 在SpringMVC框架中,日期类型的参数转换是常见的问题之一。当我们在实体类中使用java.util.Date类型的属性时,可能会出现类型转换错误的问题。在...
描述中的"实现前台页面对象的封装"意味着我们要关注如何将前端页面上的用户输入转换为后端的Java对象。Spring MVC提供了一种优雅的方式——数据绑定,来自动映射请求参数到Java对象的属性上。例如,我们可以创建一个...
SpringMVC是Spring框架中一个用于构建Web应用程序的模块,它遵循MVC(Model-View-Controller)设计模式,旨在简化Web层的开发。SpringMVC提供的功能包括处理用户请求、数据校验、格式化、视图解析等,它与Spring提供...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。FusionCharts,则是一款功能丰富的JavaScript图表库,可以用于创建交互式且视觉效果丰富的图表。...
本项目前台使用easyui,后台使用springMVC注解方式,做了一个权限控制的功能,涵盖了easyui基本控件的使用,如tree控件,datagrid控件,可以为学习这两个框架的朋友提供参考,内附项目使用说明文档以及数据库初始化...
控制器接受前台的值的方式 路径传值 @RequestMapping("/login/{id}") public String demo(@PathVariable Long id){ ... } 通过@PathVariable就可以接受路径/login/{id}中的id值了。 From表单传值 先介绍模拟...