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

  • 相关阅读:
    原生,js,自执行函数的三种写法,及特性
    js延迟加载的六种方式
    antd table 合并行的方法
    css 常用样式antd design 中table,表格省略号处理的问题
    axios 中文文档
    js ,几张遍历,循环的方法
    javascript怎么保留两位小数
    Category(十九)
    Protocol(协议)(二十)
    Extension延展(十八)
  • 原文地址:https://www.cnblogs.com/olay/p/7867525.html
Copyright © 2011-2022 走看看