J'ai construit le formulaire de contact dans aspx 3.5 et j'utilise jQuery pour l'envoyer au service web (asmx).
Le service Web doit renvoyer un code d'erreur ou de succès. Le problème est que, à la méthode web, je ne reçois qu'une seule valeur et non un tableau. Je suis un peu nouveau dans ajax et j'ai essayé beaucoup de solutions mais sans aucun résultat. S'il vous plaît si vous pouvez seulement m'expliquer le principe de ce qu'il faut faire aussi être bon.comment envoyer des données json à asmx (à partir de aspx) en utilisant jquery?
C'est le côté client:
$(document).ready(function()
{
$("#submit").click(function(event)
{
$.ajax
({
type: "POST",
url: "RVContactFormMailer.asmx/HelloToYou",
data: "{'name': '" + $('#name').val() + "', 'company':'" + $('#company').val() + "', 'phone':'" + $('#phone').val() + "', 'email':'" + $('#email').val() + "', 'questions':'" + $('#questions').val() + "'}" ,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
AjaxSucceeded(msg);
}, error: AjaxFailed
});
});
Dans Firebug son envoie correctement:
{'name': 'jhon', 'company':'example', 'phone':'123', 'email':'[email protected]', 'questions':'hello'}
Le code asmx est (s'il vous plaît ignorer les noms, son exemple:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService] // To allow this Web Service to be called from script, using ASP.NET AJAX or JQuery.
[ToolboxItem(false)]
public class RVContactFormMailer : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloToYou(string name)
{
return "Hello " + name;
}
}
Quand je débogue, je vois que le paramètre d'entrée "nom" ne contient qu'une seule chaîne - je ne sais pas comment obtenir la chaîne json complète t Je l'envoie au service et contient toutes les données du formulaire - je veux le désirialiser en chaîne de caractères ou quelque chose comme ça, et le traiter. comment puis-je faire cela?
L'option AUTRE aurait été de créer un objet complexe du côté client et de le désérialiser sur le serveur en tant qu'objet nommé avec cette complexité seulement avoir un seul objet côté serveur passé. –
Mark pouvez-vous s'il vous plaît donner plus d'info/exemple ou un lien vers un article? merci – eran
j'utilise l'information dans: http://stackoverflow.com/questions/2785441/asp-net-json-web-service-post-form-data et envoyer l'objet complexe comme json. merci – eran