2013-08-16 1 views
0

J'ai un fichier ascx, dans lequel je fais un appel ajax à une fonction située dans un autre fichier (code aspx derrière le fichier). Mais son retour la page complète ASPX dans Résultat, je retourne chaîne juste dans ma fonction, voici mon code Ceci est dans mon dossier ascxappel ajax dans ascx Fichier

$.ajax({ 
      type: "POST", 
      url: "MyFile.aspx/GetData", //url to point your webmethod   
      success: function (Result) { 
       alert('success'); 
       $("#txtlicense").val(Result); 
      }, 
      error: function() { alert('error'); } 
     }); 

et c'est dans MyFile.aspx.cs

[System.Web.Services.WebMethod()] 
     public static string GetData() 
     { 
//Getting data from DB and returning 

     } 

J'ai aussi essayé de placer cette méthode dans mon fichier ascx.cs mais son erreur donnant

This type of page is not served 

Répondre

2

Il vous manque

contentType: "application/json; charset=utf-8", 
dataType: "json", 

Voir l'exemple de travail suivant

// code derrière une méthode déclarée statique

[WebMethod] 
public static string GetSquare(String value) 
{ 
    return value; 
} 

votre bouton dont cliquez sur ce qui doit être fait

<input type="button" id="button" value="Chnageurl" onclick="ajaxcall()" /> 
scénario

pour cette

<script type="text/jscript"> 

function ajaxcall(e) { 

      $.ajax({ 
      type: "POST", 
      url: "Default.aspx/GetSquare", 
      contentType: "application/json; charset=utf-8", 
      data: JSON.stringify({ value: "Vinay" }), 
      dataType: "json", 
      success: function (value) { 
      alert(value.d); 
     }, 
     error: function() { alert("Ajax Error"); } 
    }); 
    }; 
+0

Merci beaucoup, la deuxième fois que je manquais ce contentType :) –