Я использую jQuery (пробовал 1.x и 2.2 - тот же результат), чтобы сделать простой вызов GET через Ajax из страницы ASP.NET.Я звоню на страницу CGI в том же домене, используя SSL.Мой код выглядит так:
$.ajax({
type: "GET",
cache: false,
headers: {
'Cache-Control': 'no-cache, no-store, must-revalidate',
'Pragma': 'no-cache',
'Expires': '0'
},
url: "https://example.com/cgi-bin/start.exe/htmlPage.htm?infoBeingPassedToCgi=123"
error: function (data) {
showMessageBox("ERROR", "ERROR", "An unexpected error occurred. Please try again.");
window.location.href = "https://example.com...";
},
success: function (data) {
continue with stuff...
Это то, что я использовал в течение прошлого года или около того, и все было хорошо.Однако в последнее время был получен противоречивый результат ...
- на одном компьютере с использованием Chrome и FF, вызов Ajax работает как задумано, приостанавливает страницу, в то время как программа вызывает страницу CGI за кулисами.Затем продолжая на той же странице, вещи возобновляются для пользователя.Это то, что я хочу.
На этом же компьютере, используя Edge (Win 10 64-bit), вместо того, чтобы оставаться там, где находится страница, совершать вызов и затем продолжать оставаться на той же странице... вместо этого страница вызывает страницу CGI, а затем переносит пользователя на новую html-страницу с результатами вызова CGI.Таким образом, страница все еще вызывает CGI, она выполняет и передает результаты, но вместо сохраняющей там исходной страницы Ajax она просто создает новую «выходную» страницу и отображает результаты в верхнем левом углу.
на другом компьютере плохой результат (переход на новую страницу с результатами только вызовов Ajax) происходит в Chrome, Firefox и Edge.
Как вы можете видеть, существует несоответствие с поведением браузерана разных компьютерах.
На моей странице ASP.NET web.config я делаю это, но не думаю, что она связана, поскольку исходная страница и страница вызова Ajax являются SSL в одном и том же домене:
Есть идеи?