Как получить библиотеку документов по ее идентификатору в SharePoint, используя jquery - PullRequest
1 голос
/ 20 февраля 2020

У меня есть пользовательское действие на CommandUI.Ribbon. Он запускает надстройку SharePoint и отправляет ListID allong в качестве параметра.

На странице надстроек я пытаюсь загрузить документ (из службы отдыха).

Когда я пытаюсь получить библиотеку документов по ее идентификатору, она выходит из отладчика, и я понятия не имею, почему.

var ctx = SP.ClientContext.get_current();
var fileCreateInfo = new SP.FileCreationInformation();
fileCreateInfo.set_url(documentName);
fileCreateInfo.set_overwrite(true);
fileCreateInfo.set_content(content);

var parentList = ctx.get_web().get_lists().getById(listId);  //steps out here. 

Возможно ли, что метод getById не существует?

Надеюсь услышать от вас, ребята и девушки ...

1 Ответ

1 голос
/ 20 февраля 2020

если вы планируете использовать JSOM для запроса списка из SharePoint, вам также следует выполнить executeQuery. Поток использования JSOM:

  1. получение контекста
  2. загрузка того, что вам нужно в контекст
  3. выполнение запроса для инициализации объектов
  4. при успешном выполнении запроса получите необходимые данные.

Пожалуйста, обратитесь к этой MSDN статье для получения дополнительной информации

Я полагаю, для ваших нужд такого рода решения может работать



    function retrieveAllListProperties() {

        var clientContext = SP.ClientContext.get_current();
        var oWebsite = clientContext.get_web();
        this.collList = oWebsite.get_lists().getById('[PLACE LIST GUID HERE]');

        clientContext.load(collList);

        clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
    }

    function onQuerySucceeded() {
        console.log(collList.get_title());
    }

    function onQueryFailed(sender, args) {
        console.log('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
    }


Если у вас есть правильный контекст, в котором присутствует список, и необходимые разрешения, то выход при запуске retrieveAllListProperties () должен быть заголовком запрашиваемого списка.

Я надеюсь, что это поможет:)

...