2012-03-18 1 views
2

je tryed à utiliser certains AJAX dans mon dossier MasterPage, mais a cette erreur:Asp AJAX net dans une MasterPage

http://localhost:15354/website/MasterPage.master/Login Impossible de charger la ressource: le serveur a répondu avec un statut de 403 (Interdit)

I rouge sur certains forums que nous ne pouvons pas appeler une fonction avec AJAX d'un MasterPage comme ceci:

function Login() { 
     var obj = new Object(); 
     obj.user = ""; 
     obj.pass = ""; 

     $.ajax({ 
      type: "POST", 
      url: "MasterPage.master/Login", 
      data: JSON.stringify(obj), 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (result) { 
       alert("success"); 
      }, 
      error: function(){ 
       alert("error"); 
      } 
     }); 
    } 

Voici ma fonction dans le code BEHIN d:

[WebMethod] 
public static string Login(string user, string pass) 
{ 


    return ""; 
} 

Comment faire cela?

Merci beaucoup!

Répondre

3

Mieux vaut disposer d'un service Web pour cela et appeler l'URL du service Web à partir de la requête ajax.


$.ajax({ 
    /// <summary> 
    /// Perform an asynchronous HTTP (Ajax) request 
    /// </summary> 
    type: "POST", 
    url: "AjaxServer.asmx/Login", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(response) { 
     /// <summary> 
     /// when success 
     /// </summary> 
     alert(response.d); 
    }, 
    failure: function(msg) { 
     /// <summary> 
     /// when there is an error 
     /// </summary> 
     alert(msg.d); 
    } 
});​ 
+0

J'ai créé un WebService.asmx, maintenant im getting méthode web inconnue Login Nom du paramètre methodName ' – JoRouss

+1

Réussite! emove "statique" de ma méthode dans le fichier asmx – JoRouss

+0

Votre changement d'url ne fonctionne pas dur, la solution est l'asmx – JoRouss

1

Déplacer le code côté serveur à une page d'aide, c.-à-webmethods.aspx et l'appellent là-bas au lieu.

3

Vous pouvez créer .ascx pour les informations de connexion et appelez ajax il

+0

Merci, je n'y ai pas pensé. – JoRouss

1

pages maîtres ont pas de vie là-bas propres méthodes de page maître invoquer dans toutes les pages héritant maître de sorte que vous pouvez appeler votre méthode de toute page utilise la page principale

.ajax $ ({ url: 'Login.aspx/Connexion', Type: 'POST', ...