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

sharepoint rest api Add ListItem 报错的更多相关文章

  1. SharePoint 2013 点击"关注" 报错

    现象: 点击"关注" 报错. 解决办法: 1.确保bin文件夹下的.dll版本与web.config一致. 2.设置user porfile权限. 2.重启iis 结果如下:

  2. JAVA Api 调用Hbase报错锦集

    1. 报错 java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/protobuf/generated/MasterProtos$Master ...

  3. 【git 问题小说说】 git add时候报错:LF will be replaced by CRLF

    本文来自:http://blog.csdn.net/loovejava/article/details/22114477 最近工作在window平台,不怎么使用命令行了所以导致很多命令都不熟悉啦 哈哈 ...

  4. 关于add migration 报错的问题解决方案

    The current CSharpHelper cannot scaffold literals of type 'Microsoft.EntityFrameworkCore.Metadata.In ...

  5. O365(世纪互联)SharePoint 之使用Designer报错

    前言 在SharePoint Online中使用Designer报错,错误为:This Feature has been disabled by your administrator.找了好久发现原因 ...

  6. DataTable经典报错{列/行已属于其他表}

    Delete()之后需要datatable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除, 还可以通过datatable.RejectChange ...

  7. sharepoint获取exchange邮箱报错:该帐户无权模拟所请求的用户

    现象: sharepoint获取exchange邮箱报错:该帐户无权模拟所请求的用户 处理办法: 1.Open the Exchange Management Shell 2.输入: New-Mana ...

  8. sharepoint 2013 文档库 资源管理器打开报错 在文件资源管理器中打开此位置时遇到问题,将此网站添加到受信任站点列表,然后重试。

    我们在使用sharepoint 2013的文档库或者资源库的时候,经常会需要用到使用“资源管理器”来管理文档,但是有时候,点击“使用资源管理器打开”,会提示如下错误: 在文件资源管理器中打开此位置时遇 ...

  9. DataTables学习:从最基本的入门静态页面,使用ajax调用Json本地数据源实现前端开发深入学习,根据后台数据接口替换掉本地的json本地数据,以及报错的处理地方,8个例子(显示行附加信息,回调使用api,动态显示和隐藏列...),详细教程

    一.DataTables  个人觉得学习一门新的插件或者技术时候,官方文档是最根本的,入门最快的地方,但是有时候看完官方文档,一步步的动手写例子,总会出现各种莫名其妙的错误,需要我们很好的进行研究出错 ...

随机推荐

  1. jquery特效:无缝向上循环滚动列表

    效果呈现 整个列表间隔设定的时间向上移动一个item的高度 html结构: <div class="slide-title"> <span>title1&l ...

  2. js获取昨天/上周/上个月开始和结束的时间戳,可以设置时分秒 js obtain start and end timestamp of yesterday/last week/last month, with set of hour/minute/second

    //obtain timestamp of last week var now=new Date() var nowDayOfWeek = now.getDay(); //今天本周的第几天 var n ...

  3. Java EE大作业之创造class类出现问题-------Implicit super constructor Object() is undefined for default constructor. Mu

    这个学期一直在忙着考驾照的事情,眼看就要期末了.我的大学生活的最后一个大的作业也要来临了.说实话这个学期真的是没有之前的两个学期努力了.不知道是快要毕业的缘故还是真的是把心思用在了驾照上,想着在这次放 ...

  4. js判断pc端和移动端的方法

    function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", " ...

  5. 基于openlayers2军事标绘,开源

    1.其实各GIS公司.网络上 都会有提供 军事标绘的功能,如arcgis 的,超图的.mapgis的:但大多数是非开源.且收费的.2.在这里要感谢超图,超图开源了标绘扩展符号库,我这里使用的就是超图的 ...

  6. Monte Calro Tree Search (MCTS)

    https://blog.csdn.net/natsu1211/article/details/50986810, 感谢分享! Intro最近阿法狗和李师师的人机大战着实火了一把,还顺带捧红了柯杰,古 ...

  7. Android实时获得经纬度,发送给c++服务端

    Android 客户端: package com.example.admin.gpsget; import android.Manifest; import android.content.Conte ...

  8. Visual Studio Code 之 运行java代码

    1.安装扩展. 2.安装成功后,会在右键菜单中多出一个选项: 更改vscode“用户设置”文件:添加java.home(jdk目录)以及runcode显示在终端(解决中文乱码问题) code runn ...

  9. 使用ifstream和getline读取文件内容[c++] ZZ

      假设有一个叫 data.txt 的文件, 它包含以下内容: Fry: One Jillion dollars.[Everyone gasps.]Auctioneer: Sir, that's no ...

  10. 转载:VMWARE虚拟机无法访问的三种方法分析

    bridged(桥接模式).NAT(网络地址转换模式)host-only(主机模式).理论认识:1.bridged(桥接模式)在这个地方模式.虚拟机等同于网络内的一台物理主机,可对手动设置IP,子网掩 ...