J'ai le code jquery suivant pour appeler une méthode Web dans une page aspx
$.ajax({
type: "POST",
url: "popup.aspx/GetJewellerAssets",
contentType: "application/json; charset=utf-8",
data: '{"jewellerId":' + filter + '}',
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed
});
et voici la signature de la méthode web
[WebMethod]
public static string GetJewellerAssets(int jewellerId)
{
Cela fonctionne très bien.
Mais maintenant, j'ai besoin de passer deux paramètres à la méthode Web
la nouvelle méthode Web ressemble à ceci
[WebMethod]
public static string GetJewellerAssets(int jewellerId, string locale)
{
}
Comment changer le code client pour appeler avec succès cette nouvelle signature de méthode?
ÉDITER:
Les 2 syntaxes suivantes ont fonctionné
data: '{ "jewellerId":' + filter + ', "locale":"en" }',
et
data: JSON.stringify({ jewellerId: filter, locale: locale }),
où le filtre et les paramètres régionaux sont des variables locales
JSON.stringify
avec un objet littéral, vous DEVEZ inclure le nom du paramètre avec deux points, le tout entouré d' {}
accolades. L'utilisation JSON.stringify(objectLiteral)
ne fonctionne pas.
[WebMethod] [ScriptMethod(UseHttpGet = true)] public static string TestIBAN(string ccc)
?
data: JSON.stringify({ jewellerId: filter, locale: locale })
est le meilleur moyen que j'ai trouvé, merci @ChrisCa