Javascript 过帐到查找字段
我正在尝试向查找字段发布/创建(不更新)新项。我曾经追随,也曾经成功过。但是由于某种原因,我现在不能打一个简单的电话。我需要一双额外的眼睛来看看我的代码 查找字段名为“questionRelation”。现在,我必须在名称后添加Id,以在查找字段所代表的列表中指定Id列Javascript 过帐到查找字段,javascript,jquery,rest,lookup,sharepoint-online,Javascript,Jquery,Rest,Lookup,Sharepoint Online,我正在尝试向查找字段发布/创建(不更新)新项。我曾经追随,也曾经成功过。但是由于某种原因,我现在不能打一个简单的电话。我需要一双额外的眼睛来看看我的代码 查找字段名为“questionRelation”。现在,我必须在名称后添加Id,以在查找字段所代表的列表中指定Id列 var data = { __metadata: { "type": window._cache.ListItemType }, Title: user_answe
var data = {
__metadata: { "type": window._cache.ListItemType },
Title: user_answer,
questionRelationId: {
'results': parseInt(question_Id)
}
};
var _answers = "answers";
var _url = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + _answers + "')/Items"
var _type = "POST";
var _headers = {
"accept": "application/json;odata=verbose",
"X-RequestDigest": jQuery("#__REQUESTDIGEST").val(),
"content-Type": "application/json;odata=verbose"
}
var _data = JSON.stringify(data);
jQuery.ajax({
url: _url,
type: _type,
headers: _headers,
data: _data,
done: function (data, textStatus, jHXR) {},
error: function (data, textStatus, jHXR) {});
我得到的错误是:
从JSON读取器读取时发现意外的“StartObject”节点。应为“PrimitiveValue”节点
我已将查找字段设置为仅获取一个值(id)。非常感谢您的投入
更新
我改变了:
questionRelationId: {
'results': parseInt(question_Id)
}
致:
我知道它起作用了。我这样做是因为查找列采用数组。如果是单个值,则必须删除
结果
对象部分。当我查看我自己提供的文档时,我没有注意到。下面的代码在我的本地代码中起作用
<script type="text/javascript">
var itemProperties = {
"__metadata": { "type": "SP.Data.ChildListItem" },
"Title": "RestApiCreated",
"LookupParentId":1
};
function createListItem() {
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('child')/items",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify(itemProperties),
headers: {
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"X-HTTP-Method": "POST"
},
success: function (data, textStatus, jqXHR) {
alert(data.d.length);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(jqXHR);
}
});
}
</script>
var itemProperties={
“_元数据”:{“类型”:“SP.Data.ChildListItem”},
“标题”:“重新创建”,
“LookupParentId”:1
};
函数createListItem(){
$.ajax({
url:_spPageContextInfo.webAbsoluteUrl+“/_api/web/lists/getbytitle('child')/items”,
类型:“POST”,
contentType:“application/json;odata=verbose”,
数据:JSON.stringify(itemProperties),
标题:{
“接受”:“application/json;odata=verbose”,
“内容类型”:“应用程序/json;odata=verbose”,
“X-RequestDigest”:$(“#u-RequestDigest”).val(),
“X-HTTP-Method”:“POST”
},
成功:函数(数据、文本状态、jqXHR){
警报(数据d.长度);
},
错误:函数(jqXHR、textStatus、errorshown){
警报(jqXHR);
}
});
}
并尝试使用fiddler监视请求原始头以识别头值
谢谢您,先生!!我在你的帮助下解决了这个问题。我用答案更新了我的问题。我觉得提琴手有点过火。再说一次,我还没有下定决心好好学习它。但也许是时候了。
<script type="text/javascript">
var itemProperties = {
"__metadata": { "type": "SP.Data.ChildListItem" },
"Title": "RestApiCreated",
"LookupParentId":1
};
function createListItem() {
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('child')/items",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify(itemProperties),
headers: {
"Accept": "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"X-HTTP-Method": "POST"
},
success: function (data, textStatus, jqXHR) {
alert(data.d.length);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(jqXHR);
}
});
}
</script>