我使用jQuery $ .Ajax函数和SharePoint 2013 REST在自定义列表中插入新项,并收到错误400(错误请求)。
我将以下JSON(在调用之前通过字符串化)作为数据传递给REST调用:
jSONitem =
{
'__metadata': { "type": "SP.Data.TransmittalDocsListItem" },
'Title': $scope.myTransmittal.name,
'TransmittalName': $scope.myTransmittal.name,
'TransmittalIdInList': $scope.myTransmittal.id,
'TransmittalLink': {
'Description': $scope.myTransmittal.description,
'Url': $scope.myTransmittal.url
},
'DocumentName': data.FileLeafRef,
'DocumentIdInList': data.Id,
'DocumentLink': {
'__metadata': { "type": "SP.FieldUrlValue" },
'Description': data.OData__dlc_DocIdUrl.Description,
'Url': data.OData__dlc_DocIdUrl.Url
}
};
如果我只删除作为我的链接的两个对象(SP.FieldUrlValue),则调用成功并添加该项目。我已经尝试了所有我能想到的东西,但我被卡住了。例如,我从JSON中删除了具有相同结果的_Metadata。
这是一个有效的示例JSON ...我可以将其保存为单行文本以快速修复,但这应该有效!
jSONitem =
{
'__metadata': { "type": "SP.Data.TransmittalDocsListItem" },
'Title': $scope.myTransmittal.name,
'TransmittalName': $scope.myTransmittal.name,
'DocumentName': data.FileLeafRef,
'DocumentIdInList': data.Id,
};