jQuery .load () не работает на https: // соединение - PullRequest
0 голосов
/ 10 ноября 2019

Недавно я добавил SSL-сертификат, используя Cloudflare, на свой веб-сайт, и с тех пор функция, приведенная ниже, стала возвращать 0 (error) и никогда не загружать содержимое URL, что я должен сделать, чтобы это исправить.

$(function () {
  EnderReact();
});

function EnderReact () {
  $("a").on("click", function () {
    event.preventDefault();

    if (!(($(this).attr('href')).replace(/\s/g, '') > 0)) {
      var TheURL = $(this).attr('href');
    }

    if (TheURL && !(TheURL.indexOf("http") > -1 || TheURL.indexOf("https") > -1 || TheURL.indexOf("//") > -1)) {
      TheURL = "https://" + TheURL + "?v=0.001";
      $("#MyDiv").load(TheURL, { name: '' },
        function (response, status, xhr) {
          EnderReact();
          if (status == "error")
            alert(xhr.status + " (" + xhr.statusText + ")");
          else
            alert(xhr.status + " (" + xhr.statusText + ")");
        });
    }
  });
}

ПРИМЕЧАНИЕ: ошибка консоли ERR_NAME_NOT_RESOLVED

Ответы [ 3 ]

0 голосов
/ 10 ноября 2019

вы используете функцию события по умолчанию для функции щелчка, но вы не передаете параметр события в функцию

измените это значение и поставьте предупреждение под каждой строкой!

$ ("a") .on («щелчок», функция (событие)

0 голосов
/ 10 ноября 2019

Используйте этот код:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
0 голосов
/ 10 ноября 2019

Это общая проблема для настроек cloudflare ssl. проверьте их gaq:

здесь

попробуйте этот код и посмотрите, какая строка содержит ошибку:

$(document).ready(function () {
    if (window.location.href.indexOf("http:") > -1){ 
       console.log("URL contains http");
    }else if(window.location.href.indexOf("https:") > -1){ 
       console.log("URL contains https");
    }else if(window.location.href.indexOf("//") > -1) {
       console.log("URL contains twitter");
    }
});
...