Je développe un formulaire d'inscription dans ASP.NET dans lequel j'utilise le script côté client. J'ai donc utilisé la méthode jQuery.ajax pour POSTER les données de tous les champs au serveur via un service Web ASP.NET. Mais quand j'exécute la méthode Jquery.ajax, elle appelle la fonction d'erreur. J'ai essayé de le déboguer en utilisant Firebug dans Firefox. Il a montré l'erreur 500 Erreur interne de serveur. Maintenant, ce que je suppose est que pour insérer des données dans un WebService j'ai besoin d'utiliser une méthode POST et de même j'ai besoin d'une fonction sur le côté serveur dans Webservice qui peut être invoquée en utilisant la méthode POST. Je fournis quelques bribes de code pour illustrer ce que j'ai fait.Problème avec l'appel jQuery.ajax au service Web
Mon script client:
//My Client Side Function
function registerUser()
{
var User = {
FirstName:$get("txtFirstName").value,
LastName:$get("txtLastName").value
.
.
//and so on....This way I creat my json object to POST on server
};
//jQuery to POST Data
jQuery.ajax({
type:"POST",
url:"Service/UserRegistration.asmx/InsertUser",
data:User,
success:notifyUser,
error:setErrorField
});
}
//Function for Success Complition
function notifyUser(msg)
{
alert("Registration Successfull");
}
Mon service Web sur le serveur:
//My C# Web Service Logic
[WebMethod]
public void InsertUser(User use)
{
FreeUser us = new FreeUser();
us.FirstName = use.FirstName;
.
.
//and so on
}
Maintenant, ce que je suppose est que la méthode POST nécessite WebInvoke
classe comme attribut. Comment puis-je faire une méthode qui peut être appelée par JavaScript? Je dois utiliser WebInvoke
pour cela.