Comment effectuer une requête AJAX HTTPS GET à l'aide de jQuery
Comment puis-je faire explicitement un AJAX HTTPS demande à l'aide de jQuery? Je suis en train de faire la suite.
Sur une page https, j'ai une ligne avec le code $.get("/resource")
, mais j'obtiens l'erreur suivante
XMLHttpRequest cannot load http://www.site.com/resource. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://www.site.com' is therefore not allowed access.
Pourquoi l'appel AJAX en essayant d'accéder à la page en utilisant le protocole HTTP, si le parent ressource est à partir d'une page https? Si l' $.get(url) de la méthode le fait par défaut, comment faire pour utiliser jQuery pour faire un explicite HTTPS demande? Une autre personne qui a eu un problème similaire, à http://forum.jquery.com/topic/jquery-get-ajax-call-on-http-page-to-https-on-same-domain n'a pas pu résoudre.
jQuery Version 1.7.2
source d'informationauteur FearlessFuture | 2014-01-11
Vous devez vous connecter pour publier un commentaire.
J'ai corrigé le problème. Il s'est avéré qu'en raison de la façon dont notre site Django a été configuré, j'ai besoin d'ajouter une barre oblique à la ressource dans la requête AJAX. Sans le trailing slash, Django serait alors rediriger à l'URL avec le slash à l'aide d'une requête HTTP au lieu de HTTPS demande.
En bref, j'ai remplacé
$.get("/resource")
avec$.get("/resource/")
.Merci. J'apprécie vraiment votre aide.
Si la page vous êtes sur une page https, et de la page .obtenez de l'est de la tentative d'accès est http, puis que ne sera pas de travail en raison de la même origine. Toutefois, vous pouvez simplement écrire l'ajax au lieu de court remise avec .obtenir 🙂
Mais je suppose que pour être juste, c'est encore un peu de vrai javascript
Essayez de définir le type de données "jsonp", qui m'a aidé dans le passé avec la croix-de l'origine des demandes.
Suffit d'utiliser des règles de réécriture dans votre .fichier htaccess avec le protocole spécifié, par exemple: