J'ai récemment mis en place un site Web qui utilise cloudflare libre ssl. Lorsque j'utilise des appels ajax pour la pagination, je reçois une erreur de contenu mixte, je suppose parce qu'il est encore à un moment donné transmis sur http!? J'ai essayé d'utiliser les instructions pour la redirection https ici: https://docs.microsoft.com/en-us/aspnet/core/security/enforcing-ssl mais cela a juste fini dans une boucle, donnant l'erreur trop de redirections.Asp.net core cloudflare ssl Bloqué Contenu mélangé utilisant discret-ajax
Ceci est l'erreur spécifique relative au contenu mixte:
Contenu mixte: La page à 'https://www.andysmobilearchery.co.uk/events/' a été chargé via HTTPS, mais a demandé un point final XMLHttpRequest insécurité 'http://www.andysmobilearchery.co.uk/events/index/?page=2&x-requested-with=xmlhttprequest&=1502287619453'. Cette demande a été bloquée; le contenu doit être servi via HTTPS.
Y at-il un correctif pour cela, ou vais-je devoir supprimer les fonctions ajax?
Toute aide est appréciée!
@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>
}
J'ai maintenant remarqué que d'autres sites où j'ai ce travail mis en œuvre très bien (3 autres!), Je me sers boilerplate de asp.net qui ajoute une barre oblique à urls, si je désactive cette page d'événements fonctionne, mais ma page de commentaires s'arrête ... Je suis déconcerté lol
Le correctif spécifique pour le cas dans ce message est juste pour que le code fasse un appel XHR à 'https://www.andysmobilearch.co.uk/events/_index/?page=2&x-requested-with=xmlhttprequest&_ = 1502287619453' à la place (c'est-à-dire avec 'https' comme partie de protocole au lieu de juste' http'). Y at-il quelque chose qui empêche cela? – sideshowbarker
J'utilise ajax discrète, je ne suis pas au courant d'un paramètre pour le protocole. Je vais modifier ma question pour montrer mon cshtml/rasoir –