使用angularjs将REST HTTP发布到SharePoint列表
我正在使用angularjs创建一个简单的SPA,允许用户与托管SharePoint 2013中的预订列表交互 我已经让HTTP GET正常工作,并为各种过滤查询检索预订 但是,现在我想在列表中插入和更新记录,但Fiddler显示发生了“HTTP错误403”,并在JSON选项卡下显示以下内容: value=此页的安全验证无效,可能已损坏。请使用web浏览器的“后退”按钮重试操作 如果您能帮我确认以下代码是否有效,我将不胜感激。新预订表单上的“提交”按钮会触发帖子:使用angularjs将REST HTTP发布到SharePoint列表,angularjs,http-post,sharepoint-2013,Angularjs,Http Post,Sharepoint 2013,我正在使用angularjs创建一个简单的SPA,允许用户与托管SharePoint 2013中的预订列表交互 我已经让HTTP GET正常工作,并为各种过滤查询检索预订 但是,现在我想在列表中插入和更新记录,但Fiddler显示发生了“HTTP错误403”,并在JSON选项卡下显示以下内容: value=此页的安全验证无效,可能已损坏。请使用web浏览器的“后退”按钮重试操作 如果您能帮我确认以下代码是否有效,我将不胜感激。新预订表单上的“提交”按钮会触发帖子: $scope.submitFo
$scope.submitForm = function () {
//new booking
if ($scope.editableBooking.Id == 0) {
service.insertBooking($scope.editableBooking, function (data) {
$scope.editableBooking = data;
});
}
// Update booking
else {
console.log("[submitForm] Update");
service.updateBooking($scope.editableBooking, function (data) {
$scope.editableBooking = data;
console.log('[updatedBooking] id = ' + $scope.editableBooking.Id)
});
}
}
在我的工厂内,我有一项插入预订的服务:
var insertBooking = function (newBooking, callback) {
console.log('[insertBooking] Id = ' + newBooking.Id + " Storeno = " + newBooking.Storeno);
$http({
method: 'POST',
url: "/_api/web/lists/GetByTitle('Bookings')",
data: $.param({
Title: newBooking.Storeno,
Description: newBooking.Description,
BookedBy: newBooking.Bookedby,
StartDate: newBooking.StartDate
}),
headers: { 'Accept': 'application/json; odata=verbose' }
}).success(function (data) {
console.log("[insertBooking] POST worked");
console.log('[insertbooking] New Id = ' + data.Id);
callback(data);
}).error(function (er) {
console.log('[insertBooking] Error = ' + er);
});
}
搜索StackOverFlow是这篇关于AppManifest的文章。我没有访问该文件的权限-它位于公司内部网上-我还没有构建可安装的应用程序,只是通过CEWP调用angularjs文件
关于如何更新SP列表,您有什么建议吗?我过去也遇到过同样的错误 此页的安全验证无效,可能已损坏。请使用web浏览器的“后退”按钮重试操作 我找到了Wictor Wilén的这篇文章,它解释了如何刷新摘要令牌 基本上,在调用
$http
之前插入这一行:
UpdateFormDigest(_spPageContextInfo.webServerRelativeUrl, _spFormDigestRefreshInterval);
博客中的一些要点:
- 这个方法是同步的,所以不需要担心回调等问题
- 它使用更新间隔,仅在需要时更新表单摘要–因此,如果您的摘要尚未过期,则不会对SharePoint进行其他调用