我想从变量"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":"找到没有类型名称的条目,但没有指定预期的类型。若要允许没有类型信息的条目,还必须在指定模型时指定预期类型。
您需要
命中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);
}
});