首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么“PrimitiveValue”或“StartObject”节点会出现预期错误

为什么“PrimitiveValue”或“StartObject”节点会出现预期错误
EN

Stack Overflow用户
提问于 2019-11-25 23:07:33
回答 1查看 9.5K关注 0票数 1

我正在使用SharePoint在线:

我有一个表单,它有几个多选择的选项字段。当我试图添加一个项目时,我会得到以下错误:

“值:”当尝试读取属性值时,从JSON读取器读取'StartArray‘类型的节点;但是,需要一个'PrimitiveValue’或'StartObject‘节点。

这是多选择的代码和字段。

代码语言:javascript
复制
 $.ajax({
url: fullUrl,
method: "POST",
data: JSON.stringify({
  '__metadata': { 'type': 'SP.Data.AuditItem' },
  'Register': that.register,
  'RiskRegister': that.nextIndex,
  'Reopen': that.formatDate(that.reopen),
  'RiskOrIssue': that.riskOrIssue,
  'Locations': that.locations,               //<---multi-select choice field
  'ProblemT': that.probTitle,
  'ProblemStatement': that.problemStatement,
  'TaskOwner': that.taskOwner,
  'RiskOwner': that.riskOwner,
  'Auditor': that.auditor    //<--- multi-select choice field
}),
headers: {
  "accept": "application/json;odata=verbose",
  "content-type": "application/json;odata=verbose",
  "X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: function(){
  alert("Item Added!");
},
error: function(data){
  console.log(data);
}   
});    

我怎样才能解决这个问题?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-26 08:45:09

需要与集合一起设置多选择选择字段值,下面是供您参考的代码片段:

代码语言:javascript
复制
   <script type="text/javascript">
       var locations = ['Locations1','Locations3'];
       var Auditors =  ['Auditor1','Auditor3'];
       var item = {  
                    "__metadata": {  
                        "type": 'SP.Data.MyListListItem'
                    },  
                       "Title":'Test',
                       "Locations": { '__metadata': { 'type' : 'Collection(Edm.String)'}, results: locations },
                       "Auditor": { '__metadata': { 'type' : 'Collection(Edm.String)'}, results: Auditors }


                };    
  $.ajax({  
                    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('MyList')/items",  
                    method: "POST",  
                    contentType: "application/json;odata=verbose",  
                    data: JSON.stringify(item),  
                    async: false,  
                    headers: {  
                        "Accept": "application/json;odata=verbose",  
                        "X-RequestDigest": $("#__REQUESTDIGEST").val() 
                    },  
                    success: function(data) {  
                        alert('The Request has been successfully Added'); 
                    },  
                    error: function(jqXHR, textStatus, errorThrown) {  
                        console.log(jqXHR.responseText);
                        alert('Error');  
                    }  
                });  
</script>

参考资料:

Update multiple choice field in sharepoint using rest api

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59041419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档