Javascript 查询 SharePoint 日期列返回 '/Date(1494460800000)/'

标签 javascript sharepoint-2010 momentjs

我有一些 JavaScript 正在查询 SharePoint 日期列。格式为:DD/MM/YYYY,结果正常返回,但设备详细信息下返回的日期除外。

HTML results

我正在尝试使用 Moment.js 库对其进行格式化,但我没有任何运气。 我认为是这一行:

var LifeCycleStart = item.DeviceAvailableFrom;

或者这一行我需要在以下位置使用 Moment 格式:

$('#devicedetails').append($(txtTitle)); 

完整代码如下:

function getDeviceDetails() {
  var txtTitle = "";
  var txtOverview = "";
  var txtAccessories = "";
  var txtDevicetype = "";
  var txtTypicalDeviceUsage ="";
  var txtKnownSystemIssues ="";
  var txtLifeCycles = "";
  var tempLCS2 = "";

  var query = "http://collaboration-dev.xxx.com/sites/it/SystemInventory/_vti_bin/listdata.svc/Devices?$expand=LifeCycleStatus&$filter=Id eq " + window.DeviceId + "";
  var call = $.ajax({
    url: query,
    type: "GET",
    dataType: "json",
    headers: {
      Accept: "application/json;odata=verbose"
    }       
  });
  call.done(function (data,textStatus, jqXHR){
    $.each(data.d.results, function(index, item) {
      var tempID = item.Id;
      var tempTitle = item.Title;

      var LifeCycleStart = item.DeviceAvailableFrom;
      var LifeCycleStatus = item.LifeCycleStatusValue;
      var DeviceOverView = item.Description;
      var AccessDetails = item.Accessories;
      var DeviceKind = item.Devicetype;
      var Usage = item.TypicalUsage;
      //var KnownSystem = item.KnownSystemIssues

      txtTitle = "<p>" + LifeCycleStart + "</p>       <p>" + 
        LifeCycleStatus + "</p>";
        txtOverview = "<p>" + DeviceOverView + "</p>";
        txtAccessories = "<p>" + AccessDetails + "</p>";  
        txtDevicetype = "<p>" + DeviceKind  + "</p>";
        txtTypicalDeviceUsage = "<p>" + Usage + "</p>"; 
    });

    $('#devicedetails').append($(txtTitle));  
    $('#deviceoverview').append($(txtOverview));
    $('#devicekind').append(txtDevicetype);
    $('#deviceacc').append(txtAccessories);
    $('#deviceuse').append(txtTypicalDeviceUsage);

  });

  call.fail(function (jqXHR,textStatus,errorThrown){
    alert("Error retrieving data: " + jqXHR.responseText);
  });
}

最佳答案

Momentjs 可以解析像 '/Date(1494460800000)/' 这样的字符串,如 ASP.NET JSON Date 中所述解析文档的一部分。

在您的情况下,您可以执行以下操作:

var LifeCycleStart = moment(item.DeviceAvailableFrom).format('DD/MM/YYYY');

使用 format将 moment 对象转换为字符串。

关于Javascript 查询 SharePoint 日期列返回 '/Date(1494460800000)/',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44413990/

相关文章:

javascript - OneSignal 和 Firebase 云函数 - 返回未定义的预期 Promise 或值

sharepoint - 如何在 SharePoint 2010 CEWP(100% JavaScript 解决方案)中利用自定义样式和标记样式

javascript - reactjs 中的时间选择器组件

javascript - 使用 moment js 获取去年的同一个周末

javascript - 将数组的最后一个元素设置为单独的字符串,然后删除该元素

javascript - 第一次单击复选框时不调用函数

javascript - 如何将数据数组转换为Leaflet LatLngs 数组?

sharepoint-2010 - SharePoint - 如何将任务分配给不在系统中的用户?

c# - 如何在 silverlight 客户端对象模型中设置 SharePoint "Author"?

javascript - 这种使用 moment.js 解析 ASP.NET 日期的尝试是库的错误还是我的代码的错误?