office365 sharepoint2013 Jquery 向list插入数据

做了三天时间得到同事的帮助才搞定,废话不说直接上代码。

2014年5月18日更新:增加了一些注意事项更新代码。突然发现我开始对jquery操作SP着迷了,很简单实用,节省资源。

1,写一个方法单击事件更新,jquery的上下文, 我就省略了。

  $("#ButStart").click(function () {
            GetList_N();
        });


2,方法函数,所有项目的域名用xxxx代替项目站点用xxx代替

    //写一个新的方法直接获得List
function GetList_N()
{
    var siteUrl =https://xxxx.sharepoint.com/xxx;
    var projectList="listName";
    getListItems_dct(siteUrl,projectList,failed);
}

注意 这里的listName必须注意,是list显示名称而不是list的远程名称。如果你是刚学,为了避免错误请不要修改list名称,当然这样是不推荐的,还是记住我的方法比较好。

3,下面的代码写一个条件,如果符合条件则写入list中,此处的技术用的遍历数组的简单方法。

至于用法 可以查一下jquery的帮助文件$.each(results,function(result,val),这里先获得源数据,把源数据写入到数组,然后传递。

//为了获取多个文件此处重新写一个GetListItems方法
//为获取对比方法,此处读取2个list进行对比,如成功则把结果写入到新的list里。
function getListItems_dct(url, listname) {
    $.ajax({
        url: url + "/_api/web/lists/getbytitle('" + listname + "')/items",
        method: "GET",
        headers: {
            "Accept": "application/json; odata=verbose"
        },
        success: function (data) {
            //complete(data); // Returns JSON collection of the results
            var results = data.d.results;
            //Source_dct(results);
            
            $.each(results,function(result,val){
                var Mystr=val.Title+","+val.Approver+","+val.ApprRequired+","+val.CurrentStage;
                // alert(Mystr);
                Source_dct(Mystr);
            });   
        },
        error: function (data) {
           
            failure(data);
        }
    });
}


4,找到对照数组遍历 有相同的则写入对象list,以下方法是写入。不管是新手或老手请注意调试,这是必须的。推荐使用chrome 很好用

//**************************************************************Insert List Code Start****************************************************************
function executeFeedback(url, type, verb, data, success, error) {  
    $.ajax({  
        url: "https://xxxx.sharepoint.com/xxx/_api/web/lists/GetByTitle('AICDocApprovalWFList')/" + url,  
        type: type,  
        data: data,  
        headers: {  
            "Accept": "application/json;odata=verbose",  
            "Content-Type": "application/json;odata=verbose",  
            "X-RequestDigest": $("#__REQUESTDIGEST").val(),  
            "IF-MATCH": "*",  
            "X-HTTP-Method": verb  
        },  
        cache: false,  
        success: success,  
        error: error  
    });  
}  
  
function retriveListItem(condition) {
    executeGlossary(  
      "items?$filter=startswith(Title,'"  + condition + "')&$select=Title,Description",  
      "GET",  
      "GET",  
      null,  
      function (data, status, xhr) {  
          $("#result").empty();  
          for (var i = 0; i < data.d.results.length; i++) {  
              var item = data.d.results[i];
              $("#result").append("<font style='TEXT-DECORATION: underline'><b>" + item.Title + "</b></font>" + "--" + item.Description +  "<br/>");  
            
          }  
      },  
      function (xhr, status, error) {  
          $("#result").empty().text(error);  
      });  
} 

function createListItem(ArrayVal) {  
    var InTitle =ArrayVal.split(",")[0];
    var GetApprover= ArrayVal.split(",")[1];
    var GetApprRe= ArrayVal.split(",")[2];
    var InTG =   ArrayVal.split(",")[3];
    executeFeedback(  
      "items",  
      "POST",  
      "POST",  
      JSON.stringify(  
      {  
          __metadata: { type: "SP.Data.AICDocApprovalListListItem" },  //ListItem前面是列表名称,这是固定格式。这里特别注意的是,这里list名称是url原始名称
          Title:''+InTitle,  
          Approver:''+GetApprover,
          DocumentLink:''+GetApprRe,
          ProjectID:'34343',
          CurrentStatus:''+InTG
      }),  
      function (data, status, xhr) {  
          alert( InTitle+' inserted successful');
      },  
      function (xhr, status, error) {  
          $("#result").empty().text(error);  
      });  
} 
//**************************************************************Insert list Code End*******************************************************************



 

 

<html>
<head>
<TITLE>FeedBack</TITLE>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<SCRIPT type=text/javascript src=" /jquery-1.9.1.min.js"></SCRIPT>  
<SCRIPT type=text/javascript src=" /JS/knockout-3.1.0.js"></SCRIPT>
<SCRIPT type=text/javascript src=" /JS/json2.js"></SCRIPT>

</head>
<body>

<script type="text/javascript">
function executeFeedback(url, type, verb, data, success, error) {  
      $.ajax({  
        url: "https://xxxx.sharepoint.com/xxxx/_api/web/lists/GetByTitle('ListNAME')/" + url,  
        type: type,  
        data: data,  
        headers: {  
          "Accept": "application/json;odata=verbose",  
          "Content-Type": "application/json;odata=verbose",  
          "X-RequestDigest": $("#__REQUESTDIGEST").val(),  
          "IF-MATCH": "*",  
          "X-HTTP-Method": verb  
        },  
        cache: false,  
        success: success,  
        error: error  
      });  
    }  
  
    function retriveListItem(condition) {
      executeGlossary(  
        "items?$filter=startswith(Title,'"  + condition + "')&$select=Title,Description",  
        "GET",  
        "GET",  
        null,  
        function (data, status, xhr) {  
          $("#result").empty();  
          for (var i = 0; i < data.d.results.length; i++) {  
            var item = data.d.results[i];
            $("#result").append("<font style='TEXT-DECORATION: underline'><b>" + item.Title + "</b></font>" + "--" + item.Description +  "<br/>");  
            
          }  
        },  
        function (xhr, status, error) {  
          $("#result").empty().text(error);  
        });  
    } 

    function createListItem() {  
       
      executeFeedback(  
        "items",  
        "POST",  
        "POST",  
        JSON.stringify(  
        {  
            __metadata: { type: "SP.Data.'ListNAME'ListItem" },  
          Title:'123',  
          CurrentStage:'123456789'  
              }),  
        function (data, status, xhr) {  
          alert('successful');
        },  
        function (xhr, status, error) {  
          $("#result").empty().text(error);  
        });  
    } 
</script>
<div id="result" style="width:100%; margin-top:15px; margin-left:25px">
<input type="button" id="feedbackbtn" value="Save" οnclick="createListItem()"/>
</div>
</body>
</html>

 

 有感兴趣的欢迎加入 QQ群:212099235

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值