Отправка данных на сервер с помощью надстройки Excel

Проект представляет собой веб-надстройку Excel.

В настоящее время я запускаю надстройку в Visual Studio в режиме отладки и хочу отправить данные на сервер. Данные отправляются через вызов ajax.

Код для публикации данных:

 Excel.run(function (context) {
        let workbook = context.workbook;
        let worksheets = workbook.worksheets;
        let Sheet = worksheets.getItem("SheetName");
        var tableRange = Sheet.getRange("Data");
        tableRange.load("values");
        return context.sync().then(function () {
        $.ajax({
                contentType: 'application/json; charset=utf-8',
                dataType: 'text',
                type: 'POST',
                url: 'DocFile/Post',
                crossDomain: true,
                data: JSON.stringify({
                    file:tableRange.values
                })
                ,
                success: function (r) {
                    console.log(r);
                    alert("Successfully saved Home office assumptions for Space");
                },
                failure: function (r) {
                    alert(r);
                }
            });

При запуске надстройки появляется следующее сообщение об ошибке:Сообщение об ошибке

1 ответ

Решение

Из этого сообщения об ошибке похоже, что вы отправляете данные на междоменный сервер. в решении Excel JS у нас есть политика одного и того же происхождения, применяемая браузером, не позволяющая сценарию, загруженному из одного домена, получать или управлять свойствами веб-страницы из другого домена. Это означает, что по умолчанию домен запрашиваемого URL-адреса должен совпадать с доменом текущей веб-страницы.

Документ можно найти по адресу https://docs.microsoft.com/en-us/office/dev/add-ins/develop/addressing-same-origin-policy-limitations.

Возможным решением может быть добавление этого нового домена приложения в манифест, вы можете найти документ здесь https://docs.microsoft.com/en-us/office/dev/add-ins/reference/manifest/appdomains

Другие вопросы по тегам