我想从变量'project_url'
中获取siteUrl包含值的项目var project_url = _spPageContextInfo.webServerRelativeUrl;
var queryText = "<Where><Contains><FieldRef Name='SiteUrl' /><Value Type='URL'>" + project_url + "</Value></Contains></Where>";
var viewXml = '<View><Query>' + queryText + '</Query></View>';
var webserviceUrl = _spPageContextInfo.siteAbsoluteUrl + "/_api/web/Lists(guid'eb0ba220-73e8-428f-b848-92b606aa74d8')/items?$select=ID,Title,MembersId,AccessTYpe,OrganizationalUnitId,SiteUrl";
var queryPayload = {
'query' : {
'__metadata': { 'type': 'SP.CamlQuery' },
'ViewXml' : viewXml,
}
};
$.ajax({
url: webserviceUrl,
method: "POST",
data: JSON.stringify(queryPayload),
headers: {
"X-RequestDigest": document.getElementById("__REQUESTDIGEST").value,
"Accept": "application/json; odata=verbose",
"content-type": "application/json; odata=verbose"
},
success: function (data) {
console.log(data);
},
error: function (data) {
console.log("AllTasks Error -", data);
}
});
我收到了这个错误:
'“{”error“:{”code“:” - 1,Microsoft.SharePoint.Client.InvalidClientQueryException“,”message“:{”lang“:”en-US“,”value“:”一个条目找不到类型名称,但未指定预期类型。要允许没有类型信息的条目,还必须在指定模型时指定预期类型。“}}}”''
答案 0 :(得分:1)
您需要点击GetItems
端点。
另外,更改CAML查询以使用BeginsWith
而不是Contains
。
修改您的代码如下:
var project_url = _spPageContextInfo.webAbsoluteUrl;
var queryText = "<Where><BeginsWith><FieldRef Name='SiteUrl' /><Value Type='URL'>" + project_url + "</Value></BeginsWith></Where>";
var viewXml = '<View><Query>' + queryText + '</Query></View>';
var webserviceUrl = _spPageContextInfo.siteAbsoluteUrl + "/_api/web/Lists(guid'eb0ba220-73e8-428f-b848-92b606aa74d8')/GetItems";
var queryPayload = {
'query' : {
'__metadata': { 'type': 'SP.CamlQuery' },
'ViewXml' : viewXml,
}
};
$.ajax({
url: webserviceUrl,
method: "POST",
data: JSON.stringify(queryPayload),
headers: {
"X-RequestDigest": document.getElementById("__REQUESTDIGEST").value,
"Accept": "application/json; odata=verbose",
"content-type": "application/json; odata=verbose"
},
success: function (data) {
console.log(data);
},
error: function (data) {
console.log("AllTasks Error -", data);
}
});