【发布时间】: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