Tengo el siguiente código jquery para llamar a un método web en una página aspx
$.ajax({
type: "POST",
url: "popup.aspx/GetJewellerAssets",
contentType: "application/json; charset=utf-8",
data: '{"jewellerId":' + filter + '}',
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed
});
y aquí está la firma del método web
[WebMethod]
public static string GetJewellerAssets(int jewellerId)
{
Esto funciona bien.
Pero ahora necesito pasar dos parámetros al método web
el nuevo método web se ve así
[WebMethod]
public static string GetJewellerAssets(int jewellerId, string locale)
{
}
¿Cómo cambio el código del cliente para llamar correctamente a esta nueva firma de método?
EDITAR:
Las siguientes 2 sintaxis funcionaron
data: '{ "jewellerId":' + filter + ', "locale":"en" }',
y
data: JSON.stringify({ jewellerId: filter, locale: locale }),
donde el filtro y la configuración regional son variables locales
JSON.stringify
con un objeto literal, DEBE incluir el nombre del parámetro con dos puntos, todo dentro de {}
llaves. Usar JSON.stringify(objectLiteral)
no funciona.
[WebMethod] [ScriptMethod(UseHttpGet = true)] public static string TestIBAN(string ccc)
?
data: JSON.stringify({ jewellerId: filter, locale: locale })
es la mejor manera que he encontrado, Thank @ChrisCa