【发布时间】:2015-07-26 12:04:12
【问题描述】:
我正在使用 angularjs 创建一个简单的 SPA,它允许用户与 Hosted SharePoint 2013 中的预订列表进行交互。
我已经让 HTTP GET 工作正常,并为各种过滤查询检索预订。
但是,现在我想在列表中插入和更新记录,但 Fiddler 显示发生“HTTP 错误 403”,并且在 JSON 选项卡下显示以下内容:
value=此页面的安全验证无效并且可能已损坏。请使用您的网络浏览器的返回按钮再次尝试您的操作。
如果您能帮我确认以下代码应该可以工作,我将不胜感激。新预订表单上的提交按钮会触发帖子:
$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);
});
}
Searching StackOverFlow 是Error 403 上的这篇文章,它讨论了 AppManifest。我无权访问此文件 - 它位于公司 Intranet 上 - 而且我还没有构建可安装的应用程序,只是通过 CEWP 调用的 angularjs 文件。
关于如何更新 SP 列表有什么建议吗?
【问题讨论】:
标签: angularjs http-post sharepoint-2013