• Asp.net Webservice返回Datetime格式数据与前端JS的交互问题


      在Ajax应用中,利用asp.net网络服务将DateTime数据格式转换成JSON格式返回到浏览器中时,会出现一些不友好的问题,例如时间DateTime(1980, 2, 2),经过网络服务JSON格式化后,返回到浏览器中的格式如下:

    {"datetime":"\/Date(318326400000)\/"}

       上面的日期格式,JS理解起来肯定存在问题,为了使前端JS更好的理解上面的日期,我们可以利用正则表达式来解决这一问题,在jQuery中,解决方法如下:

    $.ajax({
        type: "POST",
        url: "service.asmx/getDate",
    
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        dataFilter: function (data, type) {
            return data.replace(/"\\\/(Date\([0-9-]+\))\\\/"/gi, 'new $1');
        },
        success: function (msg) {
            alert(msg.datetime);
        }
    });

      生成的日期格式为原生态的JS日期格式,使用起来非常方便,见下面:

    {"datetime":new Date(318326400000)}

      在Ext.js中,由于本人未发现类似于dataFilter函数的东西,所以只能在返回的数据上做文章。例如:

    var stringdata = response.responseText;
    stringdata = stringdata.replace(/"\\\/(Date\([0-9-]+\))\\\/"/gi, 'new $1');
    var data = Ext.decode(stringdata);
    var theJsonDate = data.d;
    console.log(theJsonDate);

      综上,解决的办法就是利用正则表达式把不友好的日期字串转化为原生态的JS数据类型,方便使用。

  • 相关阅读:
    数学杂谈 #22
    Windows 下查看端口占用情况
    [转] VUE 的常用指令2
    [转] VUE 的常用指令
    26种sourcemap看花了眼?别急,理解这几个全弄懂
    [转] webpack 中的 loader
    [转] VUE 的常用指令3
    [转]VUE 之 Webpack 打包构建
    [转]VUE devTools 安装方法
    [转] webpack devtool 配置之 Source Map
  • 原文地址:https://www.cnblogs.com/bingbing/p/2966220.html
Copyright © 2020-2023  润新知