Ajax GET-запросы не работают на Windows Server 2016, но работают на IIS 10 - PullRequest
0 голосов
/ 25 декабря 2018

Я действительно мог бы сделать с некоторой помощью.У меня есть две функции для заполнения DOM с помощью запросов ajax, и у меня есть одна функция для периодического обновления загруженного DOM.

У меня есть следующие Ajax GET запросы, которые работают на моем локальном компьютере при запуске из Visual Studio и при размещении в IIS v10 на моем локальном компьютере.** Проблема: ** при развертывании этого приложения на моем тестовом сервере под управлением Windows Server 2016 со следующей версией IIS: Тестовая версия сервера IIS

Приложения и запросы ajax работают отличнона моем локальном компьютере, который является машиной Windows 10 с версией IIS: версия IIS для Windows 10 michine

Это .NET core 2.1 бэкэнд-приложение,использую страницы Razor для представлений, и я пытаюсь заполнить теги html на основе ответов на мои вызовы ajax и периодически обновлять некоторые значения в заполненном HTML.Есть ли что-то, чего мне не хватает в отношении настройки IIS сервера, нужна ли мне специальная конфигурация в моем приложении, или я пропустил параметр или что-то в моем AJAX?Я добавил предупреждения для тестирования, чтобы узнать, ввел ли я свой AJAX при просмотре в браузере.Любая обратная связь будет принята с благодарностью.

'use strict';

$(function getType1DashboardItems() {
    alert("Entered getType1DashboardItems ")

    $.ajax({
        type: 'GET',
        async: true,
        url: 'api/GetQuantumDashboardItemsAsync/Type1',
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        cache: false,
        success: function success(data) {
            alert("Successfully called 'api/GetQuantumDashboardItemsAsync/Type1' in getType1DashboardItems ")
            $.each(data.areas, function (i, area) {
                //HTML for dashboard areas
                var areaHtml = '<div id="dashboardArea-' + area.guid + '" class="area-card card col-sm-3 p-2"> ' +
                    '<div class="dashboard-heading"><strong id="areaHeading" class="area-heading">' + area.title + '</strong></div><hr class="heading-underline"/>' +
                    '<div id="areaDataSources-' + area.guid + '" class="card data-source-card"></div>';
                $('#Type1Areas').append(areaHtml);

                //dashboardItems array
                var dashboardItems = area.dashboardItems;
                getDataSources(area, dashboardItems);
            });
        },
        complete: function complete() {
            refreshDashboardItems("Type1");
        },
        error: function (xhr, textStatus, data) {
            console.log('xhr: ' + xhr);
            console.log('textStatus: ' + textStatus);
            console.log('data: ' + data);
        }
    });
});

$(function getType2DashboardItems() {
    alert("Entered getType2DashboardItems ")

    $.ajax({
        type: 'GET',
        async: true,
        url: 'api/GetQuantumDashboardItemsAsync/Type2',
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        cache: false,
        success: function success(data) {
            alert("Entered getType1DashboardItems ")

            $.each(data.areas, function (i, area) {
                //HTML for dashboard areas
                var areaHtml = '<div id="dashboardArea-' + area.guid + '" class="area-card card col-sm-3 p-2">' +
                    '<div class="dashboard-heading"><strong id="areaHeading" class="area-heading">' + area.title + '</strong></div><hr class="heading-underline"/>' +
                    '<div id="areaDataSources-' + area.guid + '" class="card data-source-card"></div>';
                $('#Type2Areas').append(areaHtml);

                //dashboardItems array
                var dashboardItems = area.dashboardItems;
                getDataSources(area, dashboardItems);
            });
        }, complete: function complete() {
            refreshDashboardItems("Type2");
        },
        error: function (xhr, textStatus, data) {
            console.log('xhr: ' + xhr);
            console.log('textStatus: ' + textStatus);
            console.log('data: ' + data);
        }
    });
});

function refreshDashboardItems(dashboard) {
    $.ajax({
        type: 'GET',
        async: true,
        url: 'api/GetQuantumDashboardItemsAsync/' + dashboard,
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        cache: false,
        success: function success(dashboard) {
            alert("Successfully called 'refreshDashboardItems for "+ dashboard.toString())

            var dashboardTitle = dashboard.title;
            $.each(dashboard.areas, function (i, area) {

                var highestPriorityColour = ""
                var monitorTargetPanelHeader = document.getElementById(dashboardTitle + "DropdownPanel");

                $.each(area.dashboardItems, function (i, dashboardItem) {
                    var date = moment(dashboardItem.dataProviderHealth.dateLastAccessed).format('DD-MM-YYYY HH:mm:ss');

                    var dataSourceCountContainer = document.getElementById("data-source-count-" + dashboardItem.guid);
                    var dataSourcePartsContainer = document.getElementById("listOfParts-" + dashboardItem.guid);
                    var dataSourceLastAccessed = document.getElementById("dataSourceLastAccessed-" + dashboardItem.guid);


                    //DataSource parts are added to the parts list
                    var partsList = "";
                    $.each(dashboardItem.parts, function (i, part) {
                        var newPart = "<li class='part'>" + part.serialNumber + "</li>";
                        partsList += newPart;
                    });

                    dataSourceCountContainer.innerHTML = dashboardItem.count + " Files Pending";
                    dataSourcePartsContainer.innerHTML = partsList;
                    dataSourceLastAccessed.innerHTML = date;

                    var statusColour = dashboardItem.statusColour.toLowerCase()

                    if (statusColour == "red") {
                        highestPriorityColour = "red"
                    }
                    else if (statusColour == "orange" && highestPriorityColour != "red") {
                        highestPriorityColour = "orange"
                    }
                });
                if (highestPriorityColour != "") {
                    $(monitorTargetPanelHeader).removeClass(monitorTargetPanelHeader.className).addClass("k-link panel-bar-header-" + highestPriorityColour);
                }
                else {
                    $(monitorTargetPanelHeader).removeClass("panel-bar-header-red");
                    $(monitorTargetPanelHeader).removeClass("panel-bar-header-orange");
                    $(monitorTargetPanelHeader).addClass("k-link k-header");
                }
            });
        },
        complete: function complete() {
            setTimeout($.proxy(refreshDashboardItems, this, dashboard), 10000);
        },
        error: function (xhr, textStatus, data) {
            console.log('xhr: ' + xhr);
            console.log('textStatus: ' + textStatus);
            console.log('data: ' + data);
        }
    });
};
<html>
<body>
<div class="panels">
    <ul id="panelbar">
        <li id="Type2DashboardList" class="area k-state-active">
            <span id="Type2DropdownPanel" class="k-link k-state-selected">Type2</span>
            <div id="PanelBarContents" class="panel-bar-contents">
                <ul id="Type2Areas" class="area-row row"></ul>
            </div>
        </li>
        <li id="Type1DashboardList" class="area">
            <span id="Type1DropdownPanel" class="k-link">Type1</span>
            <div id="PanelBarContents" class="panel-bar-contents">
                <ul id="Type1Areas" class="area-row row"></ul>
            </div>
        </li>
    </ul>
</div>

        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
        <script src="https://kendo.cdn.telerik.com/2018.3.1017/js/kendo.all.min.js"></script>
        <script src="https://kendo.cdn.telerik.com/2018.3.1017/js/kendo.all.min.js"></script>
</body>
</html>

РЕДАКТИРОВАТЬ: добавлены изображения ошибок из инструментов разработчика. Это ошибка, которую я получаю.

и эта.

Вот сетевые заголовки для запроса. - Это ответ 200, что меня смущает.

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