当ajax需要返回text类型,并且需要使用json判断状态时
$.dialog.confirm('是否确定分配', function () {
$.ajax({
url: "<?=Yii::$app->urlManager->createUrl('/Admin/tel/telsuremiddle'); ?>",
type: "post",
dataType: "text", //注意返回类型为text
data: {"id": id, 'tel_num': tel_num, 'userid': userid},
success: function (data) {
if (data.search("queding") == -1) { //此处queding为条件判断标志
var res = eval('(' + data + ')');
if (1 == res.status) {
$.dialog.tips(res.info,2,'success.gif');
setTimeout(window.location.href="<?=Yii::$app->urlManager->createUrl('/Admin/tel/teldistrt'); ?>",2000);
} else {
$.dialog.tips(res.info,2,'error.gif');
}
}else {
$('#showNoticeDialog').html(data);
$('#showNoticeDialog').show();
}
}
})
})
一,Js判断字符串中是否存在某个子串:
String对象的方法
方法一: indexOf() (推荐)
var str = "123";
console.log(str.indexOf("3") != -1 ); // true
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。
方法二: search()
var str = "123";
console.log(str.search("3") != -1 ); // true
search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有找到任何匹配的子串,则返回 -1。
方法三:match()
var str = "123";
var reg = RegExp(/3/);
if(str.match(reg)){
// 包含
}
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
RegExp 对象方法
方法四:test()
var str = "123";
var reg = RegExp(/3/);
console.log(reg.test(str)); // true
test() 方法用于检索字符串中指定的值。返回 true 或 false。
方法五:exec()
var str = "123";
var reg = RegExp(/3/);
if(reg.exec(str)){
// 包含
}
exec() 方法用于检索字符串中的正则表达式的匹配。返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
二,JS字符串转为json对象
1、jQuery插件支持的转换方式:
示例:
$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象
2、浏览器支持的转换方式(Firefox,chrome,opera,safari,ie)等浏览器:
示例:
JSON.parse(jsonstr); //可以将json字符串转换成json对象
JSON.stringify(jsonobj); //可以将json对象转换成json对符串
注:ie8(兼容模式),ie7和ie6没有JSON对象,推荐采用JSON官方的方式,引入json.js。
3、Javascript支持的转换方式:
eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号
注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。
4、JSON官方的转换方式:
http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;
可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。