Jquery.get() Смешанный контент при попытке извлечения данных без https

#jekyll #github-pages

#jekyll #github-страницы

Вопрос:

Я получил следующий код внутри одной из моих функций js для извлечения новых сообщений, когда пользователь нажимает Load more кнопку

$.get("/blog/page" nextPage, function (data) {

Код работает нормально, когда я тестирую его локально.

Когда я отправляю его на gh-страницы, он выглядит нормально. Но когда я нажимаю Load more кнопку, я получаю следующую ошибку:

Mixed Content: The page at 'https://username.github.io/sub-name/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://username.github.io/sub-name/blog/page2/'. This request has been blocked; the content must be served over HTTPS.

Я добавил baseurl в _config.yml файл, но это не решает проблему.

Комментарии:

1. не могли бы вы добавить репозиторий? у меня есть идея (плохая ссылка), но нужен код для подтверждения

Ответ №1:

В https://railsr.github.io , который вы используете _includes/head.html для доступа к своим css файлам, и js для файлов установлено http значение «из вашего config файла». Вместо этого используйте независимый от протокола //

Комментарии:

1. Это частное хранилище. Не могу поделиться им. Я заметил, что gh-pages вынуждает использовать точность https для этого репозитория. Но, например railsr.github.io/autm-rb использует http. Я попытался переключить его на общедоступный, но это не решает проблему

Ответ №2:

Я решил использовать другой подход и теперь просто имею posts.json файл в корне проекта, который генерирует список сообщений.

 ---
---

[
    {% for post in site.posts %}
      {
        "title": "{{ post.title }}",
        "summary": "{{ post.summary }}",
         ...
      }
      {% unless forloop.last %},{% endunless %}
    {% endfor %}
]
  

А затем в одном из моих js-файлов используйте

$.getJSON("{{site.baseurl}}/posts.json", function(data) {

а затем отправляйте данные в массив сообщений и отображайте сообщения партиями (загружайте первые 4 сообщения, а затем загружайте еще 4 при нажатии кнопки «загрузить больше»)

(Без разбивки на страницы)