使用SPServices从子站点获取用户信息?

时间:2016-05-24 12:20:42

标签: sharepoint sharepoint-2013 spservices user-information-list

我在使用子站点的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
  }
});

1 个答案:

答案 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);
  }
});