que tienen el siguiente código de jQuery para llamar a un WebMethod en una página aspxpasar varios parámetros a jQuery Ajax llamada
$.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 tengo que conseguir dos parámetros pasados al método Web
el nuevo método web se ve como esto
[WebMethod]
public static string GetJewellerAssets(int jewellerId, string locale)
{
}
¿Cómo puedo cambiar el código de cliente para llamar con éxito esta nueva firma del método?
EDIT:
Los siguientes 2 sintaxis trabajaron
data: '{ "jewellerId":' + filter + ', "locale":"en" }',
y
data: JSON.stringify({ jewellerId: filter, locale: locale }),
donde el filtro y la configuración regional son variables locales
'data: JSON.stringify ({jewellerId: filter, locale: locale})' es la mejor manera que he encontrado, gracias @ChrisCa –
Si eres un alma triste como yo, es posible que te hayas atascado esto por horas. Al usar 'JSON.stringify' con un literal de objeto, DEBE incluir el nombre del parámetro con dos puntos, todo dentro de llaves '{}'. El uso de 'JSON.stringify (objectLiteral)' no funciona. –
Firma de método como '[WebMethod] [ScriptMethod (UseHttpGet = true)] cadena pública estática TestIBAN (cadena ccc)'? – Kiquenet