我试图将一些值保存到一个多值字段,更准确地说,是一个调查列表列。我的尝试:
$.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);
}
});我认为"Question1“JSON中的”结果“部分有问题,但不要真的发现问题所在。
错误消息:
"400:当从JSON读取器读取时,发现了一个意外的'PrimitiveValue‘节点。需要一个'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);
}
});现在没有错误。不过,只保存了注释。有什么想法吗?
发布于 2016-08-05 19:16:16
发布了一段时间后,我找到了解决方案。你也要问这个问题:
"results": [
{
"Answer": 1,
"Question": "Question 1"
}, {
"Answer": 5,
"Question": "Question 2"
}, {
"Answer": 4,
"Question": "Question 3"
}
]https://stackoverflow.com/questions/35841783
复制相似问题