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

  • 相关阅读:
    Cucumber 入门【转】
    unable to find instrumentation target package
    【转】fiddler 请求配置https后出现“你的连接不是私密连接。。。”,处理过程
    DirBuster工具扫描敏感文件
    pycharm常用快捷键
    读取 ini 配置文件
    TypeError: a bytes-like object is required, not 'str'
    日期控件定位处理
    pywin32模块安装
    python:os.path模块常用方法
  • 原文地址:https://www.cnblogs.com/olay/p/7867525.html
Copyright © 2011-2022 走看看