zoukankan      html  css  js  c++  java
  • 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数据类型,方便使用。

  • 相关阅读:
    跨期套利策略
    读书笔记 量化交易:如何建立自己的算法交易事业
    ESP8266固件修改可以控制多个IO方法
    ESP8266固件烧录方法
    关于毕设WiFi选型
    关于(x&y)+((x^y)>>1)的探究
    QML添加右键菜单
    初学QML之QML和C++混合方法
    初学QML之qmlRegisterType
    我的第一个QML Button的实现
  • 原文地址:https://www.cnblogs.com/bingbing/p/2966220.html
Copyright © 2011-2022 走看看