当ajax需要返回text类型,并且需要使用json判断状态时

232 篇文章 0 订阅
68 篇文章 0 订阅

 当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。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据 JavaScript 代码推测,您需要编写两个 Servlet 接口,分别用于处理获取省份信息和获取城市信息的 AJAX 请求。 以下是可能的 Servlet 代码示例: 1. 获取省份信息的 Servlet 接口代码示例: ```java @WebServlet("/getProvince") public class GetProvinceServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 查询省份信息 List<Province> provinces = provinceService.getProvinces(); // 构造响应数据 Map<String, Object> responseData = new HashMap<>(); if (provinces != null) { responseData.put("code", 200); responseData.put("data", provinces); } else { responseData.put("code", 500); responseData.put("message", "获取省份信息失败"); } // 设置响应头和响应内容类型 response.setContentType("application/json;charset=utf-8"); response.getWriter().write(JSON.toJSONString(responseData)); } } ``` 2. 获取城市信息的 Servlet 接口代码示例: ```java @WebServlet("/getCity") public class GetCityServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取请求参数 provinceId int provinceId = Integer.parseInt(request.getParameter("provinceId")); // 查询城市信息 List<City> cities = cityService.getCitiesByProvinceId(provinceId); // 构造响应数据 Map<String, Object> responseData = new HashMap<>(); if (cities != null) { responseData.put("code", 200); responseData.put("data", cities); } else { responseData.put("code", 500); responseData.put("message", "获取城市信息失败"); } // 设置响应头和响应内容类型 response.setContentType("application/json;charset=utf-8"); response.getWriter().write(JSON.toJSONString(responseData)); } } ``` 需要注意的是,这里的 `provinceService` 和 `cityService` 是根据具体业务逻辑实现的服务类,您需要根据您的具体业务情况来实现这些服务类。另外,为了方便 JSON 数据的构造,这里使用了阿里巴巴的 fastjson 库,您需要在项目中添加该库的引用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值