Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Avec la pagination Laravel 5.2, je cherche à faire un appel $ajax pour rafraichir une partie de ma page.
Le flux transmis est en html. Tout fonctionne en http mais j'ai un souci avec le protocole https

function paginate() {
        $(document).on('click', '.pagination a', function (e) {
            e.preventDefault();
            var page = $(this).attr('href').split('page=')[1];
            getPage(page);
        });
    }

    /* ----------------------------
     ajax laravel request 
     ------------------------------*/
    function getPage(page) {
        $.ajax({
            type: "GET",
            url: window.location.protocol + '//' + window.location.hostname + '/pages/?page=' + page,
            success: function (data) {
                $('#cat').html(data);
            },
            complete: function () {
                reload();
            }
        });
    }

Mon fichier .htaccess redirige toutes les requêtes sur https

 RewriteCond %{HTTP:X-Forwarded-Proto} !https
 RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

Ce que j'obtiens

J'obtiens cette erreur dans google chrome

Mixed Content: The page me 'https://monsite' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://monsite'. This request has been blocked; the content must be served over HTTPS.

Pourtant l'url demandée et le protocole me semblent corrects !

6 réponses


Huggy
Réponse acceptée

As-tu bien vérifié qu'il n'y a pas d'autre requête ajax que celle-ci
sous Chrome : onglet Network -> XHR -> colonne Scheme (à rajouter)

Tu préfères une canne à pêche ou un poisson ?
pour la canne à pêche : outils de developpement du navigateur
pour le poisson : fais un console.log(window.location.protocol) pour voir si c'est bien 'https:' qui est retourné

ouais j'allais dire pareil. tu es en https et tu essaye de charger une page en http

ton window.location.protocol doit pas etre juste... (essaye de mettre https:// en dur pour test)

"Mixed Content: The page me 'https://monsite' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://monsite'. This request has been blocked; the content must be served over HTTPS. "

provient de l'outil de développement Chrome, le console.log a été fait ainsi que de coder l'adresse https:// en dur

Salut, J'ai résolu mon problème.
Chrome : onglet Network -> XHR -> colonne Scheme m'a aidé à trouver ce qui ne fonctionnait pas
Merci !

Salut Skuud,

Pourrais-tu nous donner ta solution que cela puisse aider ceux qui ont rencontré le même problème.

Merci ;-)