À l'aide de POST et GET appels Ajax pour la même WebMethod en Service Web ASMX
Je n'arrive pas à appeler une méthode de service web de l'Ajax avec POST et GET.
Au début, seuls les POSTES de travail et OBTENIR serait la cause de cette erreur:
{"Message":"Une tentative a été faite pour
l'appel à la méthode \u0027getData\u0027
à l'aide d'une requête GET, ce qui n'est pas
autorisés.","StackTrace":" au
Système.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData
methodData, HttpContext contexte)\r\n
au
Système.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext
contexte, WebServiceMethodData
methodData)","ExceptionType":"le Système de.InvalidOperationException"}
J'ai corrigé que par l'ajout de cet attribut: [ScriptMethod(UseHttpGet=true)]
mais maintenant OBTENIR la cause de cette erreur:
{"Message":"Une tentative a été faite pour
l'appel à la méthode \u0027getData\u0027
à l'aide d'une requête POST, ce qui n'est pas
autorisés.","StackTrace":" au
Système.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData
methodData, HttpContext contexte)\r\n
au
Système.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext
contexte, WebServiceMethodData
methodData)","ExceptionType":"le Système de.InvalidOperationException"}
Est-il donc vrai que vous pouvez utiliser POST ou GET et pas les deux de l'Ajax? Personne ne sait pourquoi cela se produit ou si il y a une solution?
Merci d'avance!
OriginalL'auteur celticpride | 2010-01-20
Vous devez vous connecter pour publier un commentaire.
Vous peut configurer un ASMX service pour répondre à la fois GET et POST, mais je ne crois pas qu'il n'y a aucun moyen raisonnable de les faire répondre à Obtient avec JSON. Sans la sérialisation JSON, ils ne sont pas vraiment approprié pour une utilisation dans les appels AJAX.
Si vous voulez demander de l'JSON via GET, vous aurez besoin d'utiliser un HttpHandler ou service WCF.
Aussi, vous devriez assurez-vous que vous savez ce que vous faites avant de l'exposer JSON via GET.
OriginalL'auteur Dave Ward
ASMX webservices support de JSON OBTENIR de l'aide de la syntaxe suivante.
OriginalL'auteur Maxim Gershkovich
Pourquoi ne pas simplement avoir deux séparé, web services, l'un pour GET et POST
OriginalL'auteur George Filippakos
Vous devriez essayer ce avec WCF. Services web ASMX sont maintenant considérés comme des "héritage de la technologie", et Microsoft a dit qu'ils sont maintenant en "mode maintenance", et sont peu susceptibles d'avoir des bugs corrigés.
OriginalL'auteur John Saunders