我在使用子站点的SP服务获取用户信息时遇到问题。使用下面的代码我得到错误There are multiple root elements.
var employeeName = $(this).attr('ows_Employee');
var employeeInfoViewFields = '<ViewFields>\
<FieldRef Name="Title" />\
<FieldRef Name="Department" />\
<FieldRef Name="JobTitle" />\
</ViewFields>\
<Where>\
<Eq>\
<FieldRef Name="Title" />\
<Value Type="Text">' + employeeName + '</Value>\
</Eq>\
</Where>';
$().SPServices({
operation: 'GetListItems',
async: false,
listName: 'UserInfo',
// listName: 'User Information List',
CAMLViewFields: employeeInfoViewFields,
completefunc: function(xData, Status) {
// Do stuff
}
});
答案 0 :(得分:0)
我最终用标准的ajax调用替换了SPServices。这非常有效。
$.ajax({
url: "/_api/lists/getbytitle('User Information List')/items?$filter=Title eq '" + employeeName + "'&$select=Department,JobTitle",
type: "GET",
async: false,
success: function (xml) {
department = $(xml).find('d\\:Department, Department').text();
jobTitle = $(xml).find('d\\:JobTitle, JobTitle').text();
},
error: function (a, b, c) {
alert(c);
}
});