2009-04-28 9 views
0

J'utilise ASP.net et j'essaie d'exécuter un webmethod à partir de jquery. J'ai la structure de fichier suivant:Appel d'un service Web à partir d'un sous-dossier

/MyWebService.asmx
/MyPage1.aspx (faisant référence à un fichier javascript qui appelle un webmethod à MyWebService.asmx)
/MySubFolder/MyPage2.aspx (MyPage2.aspx faisant référence à la même fichier javascript)

Mon problème est que MyPage1.aspx peut appeler le webmethod dans le service Web mais MyPage2.aspx ne peut pas. Des idées pourquoi? Cela doit être lié au fait que MyPage2.aspx se trouve dans un sous-dossier. Si je déplace simplement MyPage2.aspx à la racine cela fonctionne.

J'utilise jquery et le code dans le fichier javascript ressemble à ceci:

.ajax $ ({
Type : "POST",
url: "MyWebService.asmx/MyWebMethod",
données: "{}",
contentType: "application/JSON; charset = utf-8",
dataType: "JSON",
succès: function (msg)
etc.

J'ai essayé de changer l'URL pour: /MyWebService.asmx/MyWebMethod (avec une barre oblique devant MyWebService) mais cela ne fait aucune différence.

Merci.

Répondre

0

Je pense que cela vaut la peine d'essayer de transmettre l'URL relative telle que "../MyWebService.asmx/MyWebMethod".

Personnellement, je préfère transmettre des URL absolues lors de hits AJAX.

+0

J'ai essayé cela, y compris passer une URL absolue et cela ne fonctionne toujours pas. – Anthony

+0

Hmmm ... peut-être que vous devriez essayer de déboguer le code et d'entrer dans le code JQuery pour voir à quoi il résout. – Cerebrus

Questions connexes