-2130575251, Microsoft.SharePoint.SPException - - PullRequest
0 голосов
/ 11 ноября 2019

У меня есть целевая страница, сидящая на семействе сайтов (Страницы). Я хочу перенести этот список данных с отдельного сайта (текущие задачи). Однако, когда я делаю вызов, я получаю следующую ошибку:

-2130575251, Microsoft.SharePoint.SPException The security validation for this page is invalid and might be corrupted. Please use your web browser's Back button to try your operation again.

Для этого я сначала получаю представление:

function (webUrl, listTitle, viewTitle, list, forCount) {
            var parentObject = this;
            var method = 'GET';
            var requestDigest = document.getElementById('__REQUESTDIGEST').value;
            var url = webUrl + "/_api/web/lists/getByTitle('" + listTitle + "')/Views/getbytitle('" + viewTitle + "')/ViewQuery";
            var req = new XMLHttpRequest();
            req.open(method, url);
            // req.setRequestHeader('X-RequestDigest', requestDigest);
            req.setRequestHeader("Accept", "application/json;odata=verbose");
            req.onload = function () {
                if (req.status == 200) {
                    console.log('SUCCESS', 'fetchView - req.response', req.response);
                    var viewQuery = JSON.parse(req.response);
                    viewQuery = viewQuery.d.ViewQuery;
                    console.log('DEBUG', 'fetchView - viewQuery', viewQuery);
parentObject.fetchList(webUrl, listTitle, viewQuery, list, forCount)

                } else {
                    console.error(req);
                }
            };

            req.onerror = function () {
                console.error(req);
            };

            req.send();
        }

Изатем выберите список

function (webUrl, listTitle, queryText, list, forCount, formDigestValue) {
            var requestDigest = document.getElementById('__REQUESTDIGEST').value;
            var parentObject = this;

            var viewXml = '<View><Query>' + queryText + '</Query></View>';
            var url = webUrl + "/_api/web/lists/getbytitle('" + listTitle + "')/getitems?"
                + "$select=FieldValuesAsText/ID,FieldValuesAsText/Title,FieldValuesAsText/FF_FlowName,FieldValuesAsText/FF_Status,FieldValuesAsText/FF_SubmitDate,FieldValuesAsText/FF_AssignTo"
                + "&$expand=FieldValuesAsText"
                + "&@target='" + this.returnUrl + "'";
            var queryPayload = {
                query: {
                    '__metadata': { 'type': 'SP.CamlQuery' },
                    'ViewXml': viewXml
                }
            };
            var method = 'POST';
            var requestDigest = document.getElementById('__REQUESTDIGEST').value;
            var req = new XMLHttpRequest();
            req.open(method, url);
            req.setRequestHeader('X-RequestDigest', requestDigest);
            req.setRequestHeader("Accept", "application/json;odata=verbose");
            req.setRequestHeader("Content-Type", "application/json;odata=verbose");
            req.onload = function () {
                if (req.status == 200) {
                    console.log('DEBUG', 'fetchList - req.response', req.response);
                    var returnedData = JSON.parse(req.response);

                    console.log('DEBUG', 'fetchList - returnedData', returnedData.d.results);
                    // Update Count
                    if (forCount) {
                        document.getElementById(list.CountID).innerText = returnedData.d.results.length;
                    } else {
                        document.getElementById(list.CountID).innerText = returnedData.d.results.length;
                        // And Draw Table
                        parentObject.drawTable(returnedData.d.results, list);
                    }

                } else {

                    console.error(req);
                }
            };

            // Handle network errors
            req.onerror = function () {
                console.error(req);
            };

            req.send(JSON.stringify(queryPayload));

        }

Когда страница размещена в том же семействе сайтов, это работает хорошо. Другие вещи, которые я пробовал, - это создание вспомогательной функции, которая извлекает новое значение дайджеста формы с целевого сайта, но тоже не помогает.

Проверка разрешений Я могу подтвердить, что должен использовать «Использовать удаленные интерфейсы ...», но сейчас у меня нет идей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...