【问题标题】:Insert more than 250 items in sharepoint list using javascript使用 javascript 在共享点列表中插入超过 250 个项目
【发布时间】:2014-02-14 15:36:30
【问题描述】:

我无法使用 javascript 在共享点列表中添加一年中的 365 天(日期格式:2014 年 1 月 1 日)。 但是当我输入“for”循环= 250的范围时,它正在更新列表。 请参考以下代码。

function DateIncrement() {
  var siteUrl = '/sites/..';
  var clientContext = new SP.ClientContext(siteUrl);
  var oList = clientContext.get_web().get_lists().getByTitle('Student');
  var itemCreateInfo = new SP.ListItemCreationInformation();

  for (i = 1; i < 365; i++) {
    var myDate = new Date("01/01/2014");
    myDate.setDate(myDate.getDate() + i);
    var str = myDate;
    this.oListItem = oList.addItem(itemCreateInfo);
    oListItem.set_item('Date', str);
    oListItem.update();
  }                 

  clientContext.load(oListItem);
  clientContext.executeQueryAsync(onSucceededCallback, onFailedCallback);

  function onSucceededCallback(sender, args) {            
    alert("Complete");           
  }

  function onFailedCallback(sender, args) {
    alert("Failed");        
  }          
}

【问题讨论】:

    标签: javascript sharepoint


    【解决方案1】:

    日期必须经过特殊格式化。在SharepointPlus 中,我创建了一个将 JavaScript 日期转换为 Sharepoint 格式的函数。 格式应为:“年-月-日时:分:秒”。因此,对于“2012 年 10 月 31 日”,它必须是“2012-10-31 00:00:00”。

    函数toSPDate 看起来像这样:

    function toSPDate(oDate) {
      var pad = function(p_str){
        if(p_str.toString().length==1){p_str = '0' + p_str;}
        return p_str;
      };
      var month   = pad(oDate.getMonth()+1);
      var day     = pad(oDate.getDate());
      var year    = oDate.getFullYear();
      var hours   = pad(oDate.getHours());
      var minutes = pad(oDate.getMinutes());
      var seconds = pad(oDate.getSeconds());
      return year+"-"+month+"-"+day+" "+hours+":"+minutes+":"+seconds;
    }
    

    注意:SharepointPlus 使用 Sharepoint Web 服务。我不确定您是否需要对 Microsoft 本机功能执行相同的操作。 注意2:我再次阅读了您的问题,但我不确定我是否理解正确...如果没有,请尝试再次解释您的问题。

    【讨论】:

    • 感谢您的回复,我面临的唯一问题是关于“for”循环范围。当我提供“for”循环为 for(i=1;i
    • 也许一个请求的数据太多了。使用 SharepointPlus,我将每个数据分成 15 个块。因此,一个 AJAX 请求完成了 15 个要插入的项目。在您的情况下,这意味着将发送 25 个请求。尝试安装 Firefox + Firebug 来观察发送到服务器的请求以及它返回的错误。大概就是这个原因。如果 250 可以,那么您必须将添加的内容分成 2 个:一个请求从 1 到 250,另一个请求从 251 到 365。
    猜你喜欢
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多