Я действительно мог бы сделать с некоторой помощью.У меня есть две функции для заполнения 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, что меня смущает.