2016-02-16 2 views
0

Я успешно использовал SPServices для запроса списков SharePoint в моем семействе сайтов. Теперь у меня есть вторая коллекция сайтов для другой команды, которая хотела бы видеть данные, уже размещенные в моем первом семействе сайтов (нет, мы не можем использовать тот же набор сайтов). Я хочу создать представления CEWP, запросив данные из исходного семейства сайтов, но код не работает, когда я запускаю его из второго семейства сайтов. Вот что работает на первом месте:Query SharePoint 2013 Список из другой коллекции сайтов

$().SPServices({ 
    operation: 'GetListItems', 
    async: false, 
    listName: 'Requests', 
    CAMLViewFields: "<ViewFields>" + 
         "<FieldRef Name='ID' />" + 
         "<FieldRef Name='Title' />" + 
         "<FieldRef Name='Description' />" + 
         "<FieldRef Name='Assignee' />" + 
        "</ViewFields>", 
    CAMLQuery: "<Query><Where><Eq><FieldRef Name='ID' /><Value Type='Text'>" + id + "</Value></Eq></Where></Query>", 
    completefunc: function (xData, Status) { 
     $(xData.responseXML).SPFilterNode("z:row").each(function() { 
      id = $(this).attr("ows_ID"); 
      title = $(this).attr("ows_Title"); 
      description = $(this).attr("ows_Description"); 
      assignee = $(this).attr("ows_Assignee").split(";#"); 
      //some more formulas 
     }); 
    } 
}); 

Как я могу изменить это, чтобы сделать то же самое (вытащить данные из моего первоначального списка SharePoint), а из другого семейства?

ответ

0

Это то, что я в конечном итоге получить работу, чтобы вытащить данные на мое второе семействе сайтов из первых. Мне пришлось переписать все SPServices с помощью ajax:

$.ajax({ 
    async: true, 
    crossDomain: true, 
    url: "http://sitecollectionUrl/_api/Web/Lists/GetByTitle('Requests')/Items$filter=startswith(ID, 'test')&$orderby=ID", 
    method: "GET", 
    headers: { 
     "accept": "application/json;odata=verbose", 
     "cache-control": "no-cache", 
     "postman-token": "452d273c-96f4-d2a1-bd34-463ab627e4ab" 
    }, 
    success: function (data) { 
     $.each(data.d.results, function (index, item) { 
      id = item.ID; 
      title = item.Title; 
      description = item.Description; 
      //some more formulas 
     }); 
    }, 
    complete: function (data) { 
     //some more formulas 
    } 
}); 
0

Вы можете попробовать с добавлением webUrl свойства следующим образом:

$().SPServices({ 
webUrl: "https://sitecollectionUrl/" 
operation: 'GetListItems', 
async: false, 
listName: 'Requests', 
CAMLViewFields: "<ViewFields>" + 
        "<FieldRef Name='ID' />" + 
        "<FieldRef Name='Title' />" + 
        "<FieldRef Name='Description' />" + 
        "<FieldRef Name='Assignee' />" + 
       "</ViewFields>", 
CAMLQuery: "<Query><Where><Eq><FieldRef Name='ID' /><Value Type='Text'>" + id + "</Value></Eq></Where></Query>", 
completefunc: function (xData, Status) { 
    $(xData.responseXML).SPFilterNode("z:row").each(function() { 
     id = $(this).attr("ows_ID"); 
     title = $(this).attr("ows_Title"); 
     description = $(this).attr("ows_Description"); 
     assignee = $(this).attr("ows_Assignee").split(";#"); 
     //some more formulas 
    }); 
}}); 

https://itsharedspace.wordpress.com/2013/10/17/get-list-items-with-spservices/

+0

Я пробовал кучу разных вещей, пытаясь заставить это работать, но код не работает. Я использовал URL-адрес с http: // спереди, я попытался его вынуть, я сделал https: //, но ничего не возвращается. Есть ли что-то еще, что мне нужно сделать, чтобы заставить свойство webUrl работать? Это было бы отличным решением, если бы я мог запустить код. – SeeingSpots

 Смежные вопросы

  • Нет связанных вопросов^_^