У меня есть сайт, находящийся под SSL, и он загружает данные со стандартного http-сайта, используя jquery ajax. Я контролирую оба сайта и устанавливаю междоменную политику.Ошибка загрузки jquery ajax с сайта https
Это было хорошо, но внезапно остановилось без причины.
Мой SSL сайт загружает данные с помощью:
$('#targetDiv').load('http://www.example.com .stuff');
Он работает под HTTP, но не под HTTPS. В Chrome я получаю следующее сообщение об ошибке:
Mixed Content: The page at 'https://www.secure-site-example.com' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://www.example.com/'. This request has been blocked; the content must be served over HTTPS.
Теперь я понимаю, что это жалуется мне, используя HTTP в нагрузке() из защищенного сайта. То, что я не понимаю, это то, что он внезапно прекратил работать.
Имеет ли Chrome и/или другие браузеры обновленную систему безопасности в последнее время? Если да, есть ли способ обойти эту проблему, не приобретая сертификат SSL на www.example.com?
Спасибо.
Как вы можете видеть из-за ошибки, вы блокируетесь SOP из-за того, что протоколы домена отличаются друг от друга. Если вы установили CORS в домене, вам нужно добавить заголовок вручную. Для этого используйте '$ .ajax' вместо' load() 'и установите соответствующие заголовки. –
Спасибо за ответ. Когда вы говорите, установите соответствующие заголовки, что вы имеете в виду? И это что-то новое, что только что выгнали? –
Нет, политика «того же происхождения» (http://en.wikipedia.org/wiki/Same-origin_policy) существует уже давно. Я предположил, что вы уже создали домен для CORS, поскольку вы заявили, что «оба сайта настроили политику перекрестного домена» –