У мене є наступний код jquery для виклику веб-методу на сторінці aspx
$.ajax({
type: "POST",
url: "popup.aspx/GetJewellerAssets",
contentType: "application/json; charset=utf-8",
data: '{"jewellerId":' + filter + '}',
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed
});
і ось підпис веб-методу
[WebMethod]
public static string GetJewellerAssets(int jewellerId)
{
Це чудово працює.
Але тепер мені потрібно отримати два параметри, передані веб-методу
новий веб-метод виглядає приблизно так
[WebMethod]
public static string GetJewellerAssets(int jewellerId, string locale)
{
}
Як змінити код клієнта, щоб успішно викликати цей новий підпис методу?
Редагувати:
Наступні 2 синтаксиси спрацювали
data: '{ "jewellerId":' + filter + ', "locale":"en" }',
і
data: JSON.stringify({ jewellerId: filter, locale: locale }),
де фільтр і локал - локальні змінні
JSON.stringify
з об'єктом літералом, ВИ ОБ'ЄДНАТО включити ім'я параметра з двокрапкою, всі загорнуті всередині {}
дужок. Використання JSON.stringify(objectLiteral)
не працює.
[WebMethod] [ScriptMethod(UseHttpGet = true)] public static string TestIBAN(string ccc)
?
data: JSON.stringify({ jewellerId: filter, locale: locale })
це найкращий спосіб, який я знайшов, дякую @ChrisCa