判断是否包含字符串:
var str = 'app/irri/area/id/get';
var reg = RegExp(/irri\/area\/id\/get/);// \ 转译
console.log("======"+reg.test(str));//包含true
选择选中的option
$("#sel option:selected").text();
$("#sel option:selected").val();
通过$(“#two”).find(“option:selected”).data(“class”);来找到带有该自定义属性的option,
<select id='two' class="form-control" name="site"></select>
appcan.request.ajax在应该出现401 错误时会不发送请求直接进入error方法返回参数是“setting_1”:“....”,可以F12看network选项是否发送请求,401 可以用$代替appcan.request执行看是否是401:
解决办法:类型是application/json ,data参数如果没有就传 {} ,401可能是跨域的问题提,在ajax头部加上
'Access-Control-Allow-Origin':'*',
var _$;
if (os.isAndroid || os.isPhone) {
_$ = appcan.request;
} else {
_$ = $;
};
var access_token = appcan.locStorage.getVal('access_token');
var token_type = appcan.locStorage.getVal('token_type');
_$.ajax({
url : url,
type : type,
dataType : 'json',
contentType: 'application/json',
headers : {
'Access-Control-Allow-Origin':'*',//解决跨域问题就能正常返回401而不是setting_1
'Authorization': token_type+access_token,//'Basic '+base64ByAppId(iosAppKey),
'appkey':iosAppKey,
'code':MD5Hex (iosAppKey,param,iosAppSecret)
},
data : data,
success : function( data , textStatus, request) {
console.log("success==="+JSON.stringify(data))
// if(!fangwenpf(data)){
// return;
// }
successfn( data );
//uexLog.sendLog("data====="+JSON.stringify(data));
},
error : function( errMessage ) {
console.log( errMessage );
var str = JSON.stringify(errMessage);
var reg = RegExp(/settings_1/);
console.info(reg.test(str));
if(reg.test(str)){
uexWindow.toast("0", "5", '账号在其他地方被登录!', "1300");
setTimeout('toLogin2()',1500);
return false;
}
if(errMessage.status==401){
uexWindow.toast("0", "5", '账号在其他地方被登录!', "1300");
setTimeout('toLogin2()',1500);
}
//uexLog.sendLog(errMessage+"=============="+JSON.stringify(errMessage));
},
complete: function(XMLHttpRequest, textStatus){
console.log("HttpStatus:"+XMLHttpRequest.status);
if(XMLHttpRequest.status == 429){
uexWindow.toast("0", "5", '访问过于频繁,并稍后再试', "2000");
}
if(XMLHttpRequest.status == 403 || (XMLHttpRequest.status*1) == 403 ){
uexWindow.toast("0", "5", XMLHttpRequest.status+'无权访问,联系管理员进行授权', "2000");
}
//uexLog.sendLog("HttpStatus:"+XMLHttpRequest.status);
// alert("HttpStatus:"+XMLHttpRequest.status);
if(XMLHttpRequest.status == 0){
search2();
}
}
});
js判断浏览器类型
https://blog.csdn.net/voidL123/article/details/84647495
获取html PC端 根路径:
function getRouterPsh() {
var str = location.href;
if (os.isAndroid || os.isPhone) {
var filename = str.split("html")[1];
var psh = filename.replace(',', '/');
var pshArry = psh.split('/');
var newArr = [];
for (var i = 0; i < pshArry.length - 1; i++) {
newArr.push('../')
};
var _psh = newArr.join('');
return _psh;
} else {
var arr = str.split("/");
delete arr[arr.length - 1];
var dir = arr.join("/");
var psh = dir.split("phone");
var pshArry = psh[1].split("/");
var Narr = [];
for (var i = 1; i < pshArry.length - 1; i++) {
Narr.push('../');
}
var _psh = Narr.join('');
return _psh;
}
}
判断设备是手机端还是电脑端
var os = function() {
var ua = navigator.userAgent,
isWindowsPhone = /(?:Windows Phone)/.test(ua),
isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone,
isAndroid = /(?:Android)/.test(ua),
isFireFox = /(?:Firefox)/.test(ua),
isChrome = /(?:Chrome|CriOS)/.test(ua),
isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua)),
isPhone = /(?:iPhone)/.test(ua) && !isTablet,
isPc = !isPhone && !isAndroid && !isSymbian;
return {
isTablet : isTablet,
isPhone : isPhone,
isAndroid : isAndroid,
isPc : isPc
};
}();
if (os.isAndroid || os.isPhone) {
}