2016-09-26 4 views
0

Merci pour votre aide. J'expérimente des problèmes lorsque j'essaie de rediriger les utilisateurs en fonction de leur emplacement via Freegeoip.Rediriger les utilisateurs vers une autre page lorsqu'ils ne naviguent pas depuis l'Espagne

peut être pour vous est simple, mais je ne peux pas le faire fonctionner, le behaivour devrait être:

Tous les visiteurs aller sur le site espagnol www.theWeb.es, mais ceux qui navigateur de l'extérieur d'Espagne devrait être redirigé vers la page internationale www.theInternationalWeb.com.

code:

<script> 
    jQuery.ajax({ url: 'https://www.freegeoip.net/json/', 
    type: 'POST', 
    dataType: 'jsonp', 
    success: function(location) { 
     if (location.country_code === 'ES') { 
     // Do nothing because the user is already in the spanish Store. 
     else { 
     // if the user is not in Spain the send him to the international store. 
      window.top.location.href = 'http://theInternationalWeb.com'; 
     } 
    } }}); 
    </script> 

Merci pour votre temps.

Informations Addittional:

Le site international redirige également les utilisateurs espagnols au site espagnol, et il semble bien le faire parce qu'il me réoriente chaque fois (je suis situé en Espagne)

<script> 


    jQuery.ajax({ 
    url: 'https://www.freegeoip.net/json/', 
    type: 'POST', 
    dataType: 'jsonp', 
    success: function(location) { 
    if (location.country_code === 'ES') { 
     // Redirect him to the Spanish store. 
     window.top.location.href = 'http://myWeb.es';} 
    }}); 

</script> 

IMPORTANT:

J'ai vérifié le code et mis et alerte pour détecter quel emplacement_nom_pays j'ai, et il semble que le jsonp me donne le code de pays FR au lieu de l'ES espagnol. Donc le problème ce n'est pas avec le code mais avec les informations que le FreeGeoIP me donne. Quelqu'un sait pourquoi?

+1

type ': 'POST', dataType: 'jsonp', '- Le format JSONP demande une requête GET. jQuery ignorera vos efforts pour en faire une demande POST. – Quentin

+0

quelle erreur recevez-vous dans la console? –

+0

Avez-vous essayé d'utiliser la console dans les outils de développement de votre navigateur? Vous avez quelques erreurs de syntaxe de base qui semblent être la cause de vos problèmes. – Quentin

Répondre

-1

Utilisez type:'GET'

jQuery.ajax({ url: 'https://www.freegeoip.net/json/', type: 'GET', dataType: 'jsonp', success: function(location) { if (location.country_code === 'ES') { // Do nothing because the user is already in the spanish Store. else { // if the user is not in Spain the send him to the international store. location.href = 'http://theInternationalWeb.com'; } } }});

+0

Le 'dataType' est' 'jsonp" ', ce qui forcer' type: "GET" 'automatiquement. La définition du 'type' (quelle que soit la valeur) n'a aucun effet lorsqu'une requête JSONP est en cours. – Quentin

+0

@Quentin Merci –

+0

@Quentin merci pour la clarification – Roberto