$.ajax и HTTPS. Page loaded over HTTPS… | Все что вы хотели знать о хостинге и сайтостроении

$.ajax и HTTPS. Page loaded over HTTPS…


Рубрика: JavaScript, jQuery

Вас может свести с ума ошибка «Page loaded over HTTPS but requested an insecure XMLHttpRequest endpoint». Вы можете все проверить но ничего не помогает, хотя пару дней назад работало как часы.

Такая ошибка появляется когда вы из защищенного соединения пытаетесь отослать запрос и получить ответ от незащищенного. Например со страницы https://example.com/ вы делаете запрос на https://example.com/search/live/ но браузер упорно говорит вам что вы обращаетесь по незащищенному протоколу.

Решение такой проблемы может быть до удивления проста. Возможно вы недавно решили избавиться от «/» в конце URL и это и есть причина проблемы.
Когда ваш скрипт обращается к /search/live/ то происходит редирект на /search/live (без «/») и это вызывает ошибку.

Вам нужно поправить ваш JS скрипт и убрать «/» в параметре url.

Например, было так:

$.ajax({
url: '/search/live/',
type: 'POST',
cache: false,
data: {
searchString: searchString,
},
success: function (data){
// Ваш код
}
});

Нужно изменить на:

$.ajax({
url: '/search/live',
type: 'POST',
cache: false,
data: {
searchString: searchString,
},
success: function (data){
// Ваш код
}
});
Если вам понравилась статья или была полезна, поделитесь ею с друзьями: