[js][插件] 简单检测ajax返回的错误数据
var QM = (function() { /** * 检测错误数据 * @author qingming */ var dataResult; var exports = {}; function stringDetect(str) { //console.log('str',str); var errorData = ['null', 'false', 'error', '0', 'undefined', 'NaN', '[]', '{}', '']; for (var i = 0; i < errorData.length; i++) { if (str === errorData[i]) { return false; } } return str; //不考虑兼容性的简洁写法 //return errorData.some(e => e === str) ? false : str; } function objectDetect(obj) { //console.log('obj',obj); if (obj === null || (obj instanceof Array && obj.length === 0) || (Object.prototype.isPrototypeOf(obj) && Object.keys(obj).length === 0)) { return false; } else { return obj; } } exports.error_detect = function(data) { //console.log('in',data); switch (typeof data) { case 'string': dataResult = stringDetect(data); break; case 'object': dataResult = objectDetect(data); break; default: dataResult = data; } return dataResult; } return exports; })(); // console.log(QM.error_detect('xxyy')); // console.log(QM.error_detect('null')); // console.log(QM.error_detect('0')); // console.log(QM.error_detect('false')); // console.log(QM.error_detect('error')); // console.log(QM.error_detect(null)); // console.log(QM.error_detect([])); // console.log(QM.error_detect({})); // console.log(QM.error_detect([0, 1, 2])); // console.log(QM.error_detect({'you': 'de',hao: 'de'})); // console.log(QM.error_detect(NaN)); // console.log(QM.error_detect(false)); // console.log(QM.error_detect(0));