zoukankan      html  css  js  c++  java
  • sharepoint rest api Add ListItem 报错

    Recently, I was trying to create a list item using Rest API on Sharepoint 2013. I got the following error message

    “error”:{

    “code”:”-2130575251, Microsoft.SharePoint.SPException”,

    “message”:{

    “lang”:”en-US”,

    “value”:”The security validation for this page is invalid and might be corrupted. Please                            use your  web browser’s Back button to try your operation again.”

    }

    }

    Solution:

    I found the solution for the above issue, most likely this error occurs since form digest has been expired on the page. In that case you could acquire a new form digest value by making a POST request to /_api/contextinfo endpoint. I’ve implemented the helper method for retrieving form digest.

    Example :

    function getFormDigest(siteUrl) {

    return $.ajax({

    url: siteUrl + “/_api/contextinfo”,

    method: “POST”,

    headers: { “Accept”: “application/json; odata=verbose” }

    });

    }

    function createListItem(siteUrl, listName, itemProperties) {

    var itemType = getItemTypeForListName(listName);

    itemProperties[“__metadata”] = { “type”: itemType };

    return getFormDigest(siteUrl).then(function (data) {

    return $.ajax({

    url: siteUrl + “/_api/web/lists/getbytitle(‘” + listName + “‘)/items”,

    type: “POST”,

    processData: false,

    contentType: “application/json;odata=verbose”,

    data: JSON.stringify(itemProperties),

    headers: {

    “Accept”: “application/json;odata=verbose”,

    “X-RequestDigest”: data.d.GetContextWebInformation.FormDigestValue

    }

    });

    });

    }

    //Fetch metadata for list item

    function getItemTypeForListName(name) {

    return “SP.Data.” + name.charAt(0).toUpperCase() + name.split(” “).join(“”).slice(1) + “ListItem”;

    }

    //Create a list item

    var itemProperties = {‘Title’: ‘Title 1’};

    createListItem(_spPageContextInfo.webAbsoluteUrl, ‘Demo List’, itemProperties)

    .done(function (data) {

    console.log(‘Item has been added successfully’);

    })

    .fail(function (error) {

    console.log(JSON.stringify(error));

    });

    Usage :

    var itemProperties = {‘Title’: ‘Title 1’};

    createListItem(_spPageContextInfo.webAbsoluteUrl, ‘Test List’, itemProperties);

  • 相关阅读:
    [Tomcat源码分析] Eclipse中搭建Apache Tomcat源码调试环境
    java基本数据类型
    JD-GUI反编译出现ERROR
    Convert.ToInt32()与int.Parse()的区别 (转载)
    C#编写记事本(高仿)
    少年三国志首页效果实现
    Linux系统下文件删除的恢复方法
    prefab 程序自动写回
    Unity3d UI与逻辑分离改造
    在windows上练习object-c
  • 原文地址:https://www.cnblogs.com/olay/p/7867525.html
Copyright © 2011-2022 走看看