Недавно я создал веб-сайт, который использует бесплатный ssl от Cloudflare. При использовании вызовов ajax для разбивки на страницы я получаю ошибку смешанного содержимого, я полагаю, потому что в какой-то момент она все еще передается по http !? Я попытался использовать инструкции для перенаправления https здесь: https://docs.microsoft.com/en-us/aspnet/core/security/enforcing-ssl, но это просто зациклилось, что привело к ошибке слишком большого количества перенаправлений.
Это конкретная ошибка, связанная со смешанным контентом:
Смешанный контент: страница по адресу 'https://www.andysmobilearchery.co.uk/events/' был загружен через HTTPS, но запросил небезопасную конечную точку XMLHttpRequest 'http://www.andysmobilearchery.co.uk/events/index/?page=2&x-requested-with=xmlhttprequest&=1502287619453». Этот запрос был заблокирован; контент должен передаваться через HTTPS.
Есть ли исправление для этого, или мне придется удалить функции ajax?
Любая помощь приветствуется!
@if (Model.Pager.EndPage > 1)
{
<ul class="pagination">
@if (Model.Pager.CurrentPage > 1)
{
<li>
<a asp-controller="Events" asp-action="_Index" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#paged-content" asp-route-page="1" data-ajax-method="GET" asp-route-dfrom="@ViewBag.dfrom" asp-route-dto="@ViewBag.dto" asp-route-search="@ViewBag.search">First</a>
</li>
<li>
<a asp-controller="Events" asp-action="_Index" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#paged-content" data-ajax-method="GET" asp-route-page="@(Model.Pager.CurrentPage - 1)" asp-route-dfrom="@ViewBag.dfrom" asp-route-dto="@ViewBag.dto" asp-route-search="@ViewBag.search">Previous</a>
</li>
}
@for (var page = Model.Pager.StartPage; page <= Model.Pager.EndPage; page++)
{
<li class="@(page == Model.Pager.CurrentPage ? "active" : "")">
<a asp-controller="Events"asp-action="_Index" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#paged-content" data-ajax-method="GET" asp-route-page="@page" asp-route-dfrom="@ViewBag.dfrom" asp-route-dto="@ViewBag.dto" asp-route-search="@ViewBag.search">@page</a>
</li>}
@if (Model.Pager.CurrentPage < Model.Pager.TotalPages)
{
<li>
<a asp-controller="Events" asp-action="_Index" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#paged-content" data-ajax-method="GET" asp-route-page="@(Model.Pager.CurrentPage + 1)" asp-route-dfrom="@ViewBag.dfrom" asp-route-dto="@ViewBag.dto" asp-route-search="@ViewBag.search">Next</a>
</li>
<li>
<a asp-controller="Events" asp-action="_Index" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#paged-content" data-ajax-method="GET" asp-route-page="@(Model.Pager.TotalPages)" asp-route-dfrom="@ViewBag.dfrom" asp-route-dto="@ViewBag.dto" asp-route-search="@ViewBag.search">Last</a>
</li>
}
</ul>
}
Теперь я заметил, что другие сайты, на которых я это реализовал, работают нормально (3 других!), Я использую шаблон asp.net, который добавляет конечную косую черту к URL-адресам, если я отключу это, страница событий работает, но моя страница отзывов останавливается ... я сбит с толку, лол
https://www.andysmobilearchery.co.uk/events/_index/?page=2&x-requested-with=xmlhttprequest&_=1502287619453
вместо этого (то есть сhttps
в качестве части протокола, а не толькоhttp
). Есть ли что-то, что мешает этому? - person sideshowbarker   schedule 09.08.2017