2011-08-06 6 views
0

J'ai écrit javascript dans index.html avec un formulaire de connexion. Lorsque je l'envoie, j'appelle un service Web à distance sur un serveur exécutant IIS7. Je reçois une réponse quand je l'exécute avec "Live Code" dans Dreamweaver mais quand j'exécute index.html dans un navigateur normal avec le même code, j'obtiens le type d'erreur "0". La même chose se produit lorsque je copie ces fichiers et que je les héberge sur le serveur et change le chemin du service web en localhost et l'ouvre avec un broswer.Jquery .Ajax() Retour Erreur 0

Je soupçonne que cela a à voir avec l'autorisation d'accès de quelque chose de similaire. Voici le code, si plus d'information est nécessaire s'il vous plaît laissez-moi savoir

$("#ButtonLogin").click(function (event) { 
    $.ajax({ 
     type: "POST", 
     url: serverPath + "/test.asmx/LogIN", 
     data: "{'UserName': '" + $('#TextBoxUsername').val() 
      + "', 'pwd': '" + $('#TextBoxPassword').val() + "'}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (msg) { 
      AjaxLogInSucceeded(msg);} , 
     error: AjaxLogInFailed 
    }); 
}); 
+0

Est-ce que serverPath est sur le même domaine que index.html? Les appels Ajax sont limités par la même politique d'origine: https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript. – jfriend00

+0

Je sais que c'est vieux, mais devrait être '{'UserName': $ ('# TextBoxUsername') .val(), 'pwd': $ ('# TextBoxPassword') .val()}' et pas une chaîne? – Fabrizio

Répondre

1

Debugging problèmes ajax peut sembler compliqué, mais si vous vous rappelez que vous êtes juste une mise au point d'envoyer de l'URL devient plus facile. Lorsque je fais face à ce genre de problèmes, j'utilise l'extension Firefox "Live HTTP Headers" pour voir l'URL avec les paramètres CGI qui sont envoyés au serveur. J'imagine que cela pourrait être très utile lors de l'exécution de code généré par un système comme Dreamweaver.

Vous pouvez simplement brancher votre URL ajax dans votre navigateur (ou wget) et voir ce qui revient. Ou si j'écris le code de backend également (habituellement le cas) je peux imprimer des messages d'état de débogage pour aider à identifier le problème.

bonne chance!

+0

Mais à quoi correspondrait le code '0'? – Kevin

+0

Un grand nombre de fois, le code d'erreur "0" signifie qu'il n'y avait pas d'erreur. –