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);

  • 相关阅读:
    159
    158
    157
    156
    155
    高中生都能看懂的莫比乌斯反演
    洛谷 P4449 于神之怒加强版
    洛谷 P3455 [POI2007]ZAP-Queries
    洛谷 P1829 [国家集训队]Crash的数字表格 / JZPTAB
    Dirichlet卷积
  • 原文地址:https://www.cnblogs.com/olay/p/7867525.html
Copyright © 2011-2022 走看看