2013-01-25 5 views
0

J'ai appel suivant ajax javascriptWebservice pas appelé en asp.net

$.ajax({ 
    type: "Post", 
    url: '../WebService/LoginService.asmx/LoginCheck', 
    data: jsondata, 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    success: function (resp) { 
     if (resp.d == true) { 
      window.location.replace("../Admin/DashBoard.aspx"); 
      return; 
     } 
     jQuery("#lblex").css("display", "block"); 
    }, 
    error: function (response) { 
     alert(response.responseText); 
    } 
}); 

Cela fonctionne bien au niveau local quand je test, mais quand je hébergé sur mon serveur de production, il dit un service non trouvé. Mais je suis capable de parcourir jusqu'à ce que le chemin

../WebService/LoginService.asmx 

et si je change l'URL pour

../WebService/LoginService.asmx?op = LoginCheck 

il y travaille aussi.

Quelqu'un peut-il s'il vous plaît laissez-moi savoir ce que le changement de configuration que je dois faire à mon local ou au serveur de production pour obtenir les deux travaillant en même façon

+0

vous utilisez l'authentification de formulaire? Et si oui, lorsque vous appelez cette fonction avant de vous connecter ou sans vous connecter. –

Répondre

1

Si ce script est dans un formulaire Web, je vous conseille d'utiliser la ResolveUrl méthode pour faire en sorte que l'URL correcte est générée, peu importe où votre application est hébergée:

url: '<%= ResolveUrl("~/WebService/LoginService.asmx/LoginCheck")', 

Si le script est pas dans un formulaire Web, mais dans un fichier javascript séparé où vous ne pouvez pas utiliser les fonctions côté serveur, vous pouvez définir une approche globale variable javascript dans votre formulaire Web:

<script type="text/javascript"> 
    var serviceUrl = '<%= ResolveUrl("~/WebService/LoginService.asmx/LoginCheck")'; 
</script> 

que vous pouvez ensuite utiliser dans votre fichier js séparé:

url: serviceUrl,