2011-01-14 9 views
1

J'ai 3 environnements - développement, étape et prod. Je compte sur jQuery pour un affichage ajax. J'ai donc quelque chose comme ça dans mon développement:Url dans les scripts jQuery pour différents environnements?

function needsForcedReset() { 
      $.get("http://dev/_layouts/Ajax/DoesUserNeedForceResetPassword.aspx", function(result) { 

     alert('got the data from force password ajax page: ' + result); 

     if (result.toString().length > 0) {     
      showAlert('Your have to change your domain password now', 0, 
       false, false, notificationClass.fail); 

      return true; 
     } 
     return false; 
    }); 
    return false; 

    } 

Ainsi, le point d'intérêt est le lien hardcoded dans la fonction .get $. Comment est-ce que je code avec jQuery pour faire ce lien par rapport au chemin de _layouts/ajax ou de code de la manière que je n'ai pas à spécifier l'hôte pour l'URL pour chaque scénario de déploiement différent?

Répondre

3

Il suffit de supprimer le http://dev/ et d'utiliser une URL relative au serveur.

0

Il y a plusieurs façons de le faire. Voilà deux:

  1. obtenir l'emplacement actuel du document par JS avec window.location.href (pour l'URL complète) ou window.location.host (pour le nom d'hôte + port). Il y a plus de variantes de celles-ci, Google it.

  2. Définir une balise html <base href="site.com" /> dans la section de la tête par votre logique de programmation Serverside (généralement disponible dans une constante pour de nombreux CMS ou cadres), puis l'extraire avec jQuery: $('base') ... Plus d'information ici: http://www.w3schools.com/TAGS/tag_base.asp

Cheers :)

Questions connexes