2011-05-26 5 views
0

Je développe une application simple dans Sinatra qui fait de nombreux appels asynchrones.J'ai dans mon code javascript une variable qui stocke mon domaine pour tous les appels.Mon problème est de savoir comment modifier la valeur de la variable chaque fois que je publie ma demande, par exemple:Javascript "développement" et "production

var url = "http://localhost:9292"; //development 

à

var url = "http://mysite.com" //production 

Je voudrais automatiser ce, afin d'éviter des erreurs dans l'application déployée Est-il possible

.?

J'ai pensé faire ça dans ma "Vue" en utilisant du code ruby, mais je ne sais pas si c'est cool.

Désolé mon anglais.

Merci.

+1

Faire dans la vue est parfaitement logique. – Jeremy

+0

Avez-vous besoin d'inclure le domaine? Pourquoi ne pas simplement commencer vos liens avec une barre oblique? Ex: href = "/ base-directory/certains-fichier.htm" – patorjk

+0

Dans certains cas, oui, parce que j'ai appelé des sous-systèmes qui utilisent l'URL de test. –

Répondre

0

Peut-être que vous pouvez utiliser:

var url = 'http://' + document.domain; 

document.domain obtenir le nom du domaine actuel.

+0

J'avais oublié d'écrire le port, désolé. J'ai testé ce formulaire le travail si je n'ai pas besoin d'utiliser le port pour localhost. Avez-vous une autre suggestion? Merci, –

0

Essayez avec:

window.location.port

Ce recuperer le port de domaine du site currernt;)

+0

J'utilise location.origin qui renvoie "http: // localhost: 4567", mais je pense qu'il est moche encore. –

Questions connexes