Мой запрос AJAX использует HTTP, даже если запрос исходит из страницы с использованием HTTPS. Любая идея, почему это понижение до HTTP?AJAX с использованием HTTP вместо HTTPS
Вот мой AJAX запрос:
$(function() {
// Update section options whne course is changed
$('#id_new_course').change(function() {
// Get selected coursenum
var val = $(this).val();
var sect_input = $('#id_section');
// Disable #id_section when no course is selected
if (val == '') {
sect_input.empty();
sect_input.prop('disabled', true);
} else {
// Get list of sections for selected course and update #id_section options
$.ajax({
url: '/account/support_dashboard.get_course_sections/' + val + '/',
dataType: 'json',
success: function(data) {
// Empty options and add new ones to #id_section
sect_input.empty();
$.each(data, function(value, key) {
sect_input.append($('<option></option>').attr('value', value).text(key));
});
sect_input.prop('disabled', false);
},
error: function() {
console.log('ERROR OCCURRED TRY AGAIN');
}
});//ajax
}//if
});
}); //ready
Вот вывод ошибки в веб-консоли:
Mixed Content: The page at 'https://www.myeducator.com/account/support_dashboard/1027/993532704604577793/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://www.myeducator.com/account/support_dashboard.get_course_sections/915ba/'. This request has been blocked; the content must be served over HTTPS.
Javascript Файл загружается через HTTPS:
Кроме того, фактический запрос ajax выходит как HTTPS:
Я также не думаю, что это не имеет ничего общего с моей веб-сервера (Nginx). У меня есть только одна команда перезаписи, которая перенаправляет любым необработанным поддомены к www.myeducator.com используя ту же схему запроса:
server {
listen 443 default_server ssl;
server_name _;
...
# the rewrite string
rewrite^$scheme://www.myeducator.com$request_uri redirect;
}
И загружен ли файл .js из https? – adeneo
Когда вы смотрите на http-запрос в консоли. вы видите, что он делает вызов https? – epascarello
Интересный вопрос. Интересно, почему jQuery не собирает https с исходной страницы, когда вы передаете ему относительный URL-адрес? Я думаю, что вы можете захватить протокол, порт и домен из 'window.location' и добавить это к своему URL-адресу. – jfriend00