Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.06.2018, 17:45
Аватар для mav1
Аспирант
Отправить личное сообщение для mav1 Посмотреть профиль Найти все сообщения от mav1
 
Регистрация: 30.08.2010
Сообщений: 57

jquery load - не работает с https
Здравствуйте.

Вывожу данные со страницы сайта https://site.ru/page.php на своем сайте https://mysite.ru с помощью:

<div id="new-nav"></div>
<script>
 $("#new-nav").load("https://site.ru/page.php");
</script>


Контент не выводится. Если сайт-донор будет без ssl, то есть http вместо https, то контент выводится, то есть вариант:

<div id="new-nav"></div>
<script>
 $("#new-nav").load("http://site2.ru/page.php");
</script>


рабочий. Как сделать, чтобы можно было вывести контент с сайта с ssl?
Ответить с цитированием
  #2 (permalink)  
Старый 26.06.2018, 00:04
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,586

Может https версия не отдаёт кросс оригин хедера?
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 26.06.2018, 14:54
Аватар для mav1
Аспирант
Отправить личное сообщение для mav1 Посмотреть профиль Найти все сообщения от mav1
 
Регистрация: 30.08.2010
Сообщений: 57

Сообщение от Aetae Посмотреть сообщение
Может https версия не отдаёт кросс оригин хедера?
Да, проблема в этом. В консоли браузера видна ошибка:

No 'Access-Control-Allow-Origin' header is present on the requested resource


Так как к сайту, с которого грузится информация, доступа у меня нет, и там в .htaccess я не могу прописать отправку соответствующего хэдэра, то таким способом ничего не получится у меня сделать.

Наткнулся на jsonp, но я как понимаю, это для работы с api, а не для того, чтобы выудить кусочек сайта и вывести его в своем. Варианты серверные (file_get_contents) и curl мне не подходят, нужно именно с помощью ajax/load это как решить, т.е. именно c помощью js и библиотек. Iframe тоже не подойдет

Последний раз редактировалось mav1, 26.06.2018 в 14:59. Причина: забыл указать, что другие варианты решения моей проблемы мне не подходят
Ответить с цитированием
  #4 (permalink)  
Старый 26.06.2018, 14:57
Аватар для mav1
Аспирант
Отправить личное сообщение для mav1 Посмотреть профиль Найти все сообщения от mav1
 
Регистрация: 30.08.2010
Сообщений: 57

Пробовал, к примеру, такие варианты:

<!DOCTYPE html>
<head>
	<meta charset="utf-8">
	<title>ajax test</title>
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<script>
var XHR = ("onload" in new XMLHttpRequest()) ? XMLHttpRequest :     XDomainRequest;
var xhr = new XHR();
xhr.open('GET', 'https://site-donor.ru', true);

xhr.onload = function() {
    this.response;
}

xhr.onerror = function() {
    alert( 'error ' + this.status );
};

xhr.send();
</script>
</body>
</html>


и

$.ajax({
    type: 'GET',
    headers: {  'Access-Control-Allow-Origin': 'https://site-donor.ru' },
    url: 'https://site-donor.ru',
    crossDomain: true,
    dataType: 'text/html',
    
    success: function(data) { alert("Success"); console.log(data);},
    error: function(data) { alert("Error"); },

});


не работают, пишет No 'Access-Control-Allow-Origin' header is present on the requested resource в консоли

Последний раз редактировалось mav1, 26.06.2018 в 15:00. Причина: оформил код
Ответить с цитированием
  #5 (permalink)  
Старый 26.06.2018, 15:09
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

mav1,
Заголовок 'Access-Control-Allow-Origin' должен сервер вам посылать, а не вы ему. Если доступа к серверу нет, то c помощью чисто js - никак.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему один вызов load работает, а другой - нет kravru jQuery 1 16.09.2013 20:51
Метод JQuery $.post работает через раз Dimaz AJAX и COMET 3 22.11.2012 17:52
jQuery Click() не работает на объекте, созданном Ajax vovabigov jQuery 13 09.09.2012 14:25
jQuery scrollTop не работает в хроме и в сафари dadli jQuery 2 12.05.2012 14:54
jQuery, не работает в ie, chrome и safari crowbar Javascript под браузер 3 30.04.2012 12:45