【问题标题】:Sharepoint 2013 Rest API: create to multivalue columnSharepoint 2013 Rest API:创建到多值列
【发布时间】:2016-03-07 10:48:36
【问题描述】:

我正在尝试将一些值保存到一个多值字段,更准确地说是一个调查列表列。我的尝试:

$.ajax({
   url: "somesitecollection/_api/web/lists/getByTitle('survey')/items",
   type: "POST",
   contentType: "application/json;odata=verbose",
   data: JSON.stringify({
       '__metadata': {
           'type': 'SP.Data.SurveyListItem'
       },
       'Question1': {
           "__metadata": {
               "type": "Collection(SP.FieldRatingScaleQuestionAnswer)"
           },
           "results": [2, 3, 5]
       },
       'Comment': "Thanks for..."
   }),
   headers: {
       "accept": "application/json;odata=verbose",
       "X-RequestDigest": $("#__REQUESTDIGEST").val()
   },

   success: function (data) {
       console.log("done");
   },
   error: function (err) {
       console.log(err.status + " - " + err.responseJSON.error.message.value);
   }
});

我认为“问题 1”JSON 中的“结果”部分有问题,但并没有真正找到问题。

错误信息:

"400: 读取时发现意外的 'PrimitiveValue' 节点 JSON 阅读器。需要一个 'StartObject' 节点。”

这是什么意思?

更新

尝试使用此代码:

$.ajax({
url: "somesitecollection/_api/web/lists/getByTitle('survey')/items",
   type: "POST",
   contentType: "application/json;odata=verbose",
   data: JSON.stringify({
       '__metadata': {
           'type': 'SP.Data.SurveyListItem'
       },
       'Question1': {
        "__metadata": {
            "type": "Collection(SP.FieldRatingScaleQuestionAnswer)"
        },
        "results": [
            {
                "Answer": 1
            }, {
                "Answer": 5
            }, {
                "Answer": 4
            }
        ]
    },
    'Comment': "Thanks for..."
}),
headers: {
    "accept": "application/json;odata=verbose",
    "X-RequestDigest": $("#__REQUESTDIGEST").val(),
},

success: function (data) {
    console.log("ok");
},
error: function (err) {
    console.log(err.status + " - " + err.responseJSON.error.message.value);
}
});

现在没有错误。但只有评论被保存。有什么想法吗?

【问题讨论】:

    标签: jquery json rest sharepoint sharepoint-2013


    【解决方案1】:

    发布后不久,我找到了解决方案。您也必须提出问题:

    "results": [
       {
          "Answer": 1,
          "Question": "Question 1"
       }, {
          "Answer": 5,
          "Question": "Question 2"
       }, {
          "Answer": 4,
          "Question": "Question 3"
       }
    ]
    

    【讨论】:

    • 我正在尝试添加多值人员字段,但我遇到了同样的错误。有什么帮助吗?
    • 试试 {结果:[userId1, userId2]} @sarbashis
    • 我也尝试过,但没有运气。我整天都在寻找它,你刚才建议的每一个地方。但它不起作用
    • 您介意使用所有代码(以及您记录时的请求数据)创建一个新问题吗? @sarbashis
    • 我一定会做到的
    猜你喜欢
    • 2016-01-08
    • 2013-06-06
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多