2010-11-18 7 views
5

Je fais un appel Ajax site.com/users/{username}jQuery Ajax URL

je veux accéder à l'url site.com/account/deleteComment mais quand je vérifie dans Firebug il est essayant d'accéder site.com/users/account/deleteComment

ici est mon code

$.ajax({ 
     url: "../account/deleteComment/" + deleteID, 
     success: function() { 
      $("#comment-" + deleteID).slideUp("fast"); 
     } 
    }); 

Répondre

14

Eh bien, ../../ va faire le tour, n'est-ce pas? Cela dit, il serait probablement une bonne idée d'utiliser ici des URL absolues.

url: "/account/deleteComment/" + deleteID, 

cela enlève votre capacité de se déplacer facilement votre application dans un sous-dossier, mais dans la plupart des cas, ce n'est pas un problème.

+0

oui. mais n'y a-t-il pas un moyen absolu d'utiliser les URL? –

+0

aïe. va l'essayer –

+0

ressemble à ça fonctionne. sur l'hôte local, j'ai mon application à localhost/project/donc ça va à localhost/account/deleteComment est-il un moyen de le faire fonctionner de n'importe quel endroit. Je suis sûr que cela fonctionnera sur le serveur: D –

1

Modifier l'URL:

/account/deleteComment/ 

De cette façon, ça va aller sur le chemin de la racine:

site.com/account/deleteComment 
1

Je viens d'avoir un problème similaire dans l'une de mes applications.
La solution était je

$.url("Config/GetEnvironment") 

Quel que soit le répertoire que je suis dans l'URL est correctement rendu.

0

L'URL absolue est une bonne idée dans ajax mais c'est plus bon et plus facile. Juste déclaré var siteURL = www.example.com; globalement. Et utilisé dans chaque ajax demande comme ci-dessous.

<script> 
$.ajax({ 
    url: siteURL + '/path/to/file', 
    type: 'POST', 
    data: {param1: 'value1'}, 
}); 
</script> 

Généralement, j'ai déclaré dans le fichier d'index principal ou la configuration du fichier JS.

0

vous pouvez utiliser location.origin pour l'adresse de base get

var deleteID; 
 
$.ajax({ 
 
     url:location.origin + "/account/deleteComment/" + deleteID, 
 
     success: function() { 
 
      $("#comment-" + deleteID).slideUp("fast"); 
 
     } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

$.ajax({ 
 
     url:location.origin + "/account/deleteComment/" + deleteID, 
 
     success: function() { 
 
      $("#comment-" + deleteID).slideUp("fast"); 
 
     } 
 
    });