2016-11-18 2 views
2

je tentais de mettre en œuvre cet exemple simple http://www.aspsnippets.com/Articles/Call-ASPNet-Page-Method-using-jQuery-AJAX-Example.aspxASP.NET partie web visuelle + AJAX, ne peut pas faire fonctionner

Mais cela ne fonctionne pas, il donne

Failed to load http://site/path/path/pagename.aspx/GetCurrentTime resource: the server responded with a status of 500 (Internal Server Error) 

côté client

<script src="http://.../jquery-1.7.2.min.js" type="text/javascript"></script> 
<script type = "text/javascript"> 
    function ShowCurrentTime() { 
     $.ajax({ 
      type: "POST", 
      url: "pagename.aspx/GetCurrentTime", 
      data: '{name: "' + $("#<%=txtUserName.ClientID%>")[0].value + '" }', 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: OnSuccess, 
      failure: function (response) { 
       alert(response.d); 
      } 
     }); 
    } 
    function OnSuccess(response) { 
     alert(response.d); 
    } 
</script> 
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox> 
<input id="btnGetTime" type="button" value="Show Current Time" 
    onclick = "ShowCurrentTime()" /> 

Server (fichier .cs)

 [System.Web.Services.WebMethod] 
     public static string GetCurrentTime(string name) 
     { 
      return "Hello " + name + Environment.NewLine + "The Current Time is: " 
       + DateTime.Now.ToString(); 
     } 

Répondre

0

Il n'existe pas de telle fonction failure dans la définition ajax. Vous devez le renommer en error. Vérifiez la source: jQuery.ajax()

P.S également je vous conseille d'utiliser console.log, pas d'alertes. console.log votre paramètre de nom pour voir si retourner la bonne valeur. Cochez JSON.stringify pour créer vos données.

+0

Oui, maintenant l'erreur renvoie simplement 'indéfini'. Mais je n'arrive toujours pas à comprendre où est le problème. J'étais en train de déboguer et la méthode serveur n'est pas appelée. – HoTTab1CH

+0

@ HoTTab1CH Je suppose que vous avez un problème dans les données. Ecrire une chaîne simple dans le au lieu de votre code jquery. – mybirthname

+0

J'ai fait, même erreur. Peut-être qu'il devrait y avoir quelque chose d'autre ajouté sur le côté serveur? – HoTTab1CH