使用REST的SharePoint添加列表项在类型= SP.FieldUrlValue的字段上失败

时间:2014-05-02 01:59:46

标签: javascript rest sharepoint

我使用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,
};

0 个答案:

没有答案