Tôi có mã jquery sau để gọi một webmethod trong một trang aspx
$.ajax({
type: "POST",
url: "popup.aspx/GetJewellerAssets",
contentType: "application/json; charset=utf-8",
data: '{"jewellerId":' + filter + '}',
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed
});
và đây là chữ ký phương pháp web
[WebMethod]
public static string GetJewellerAssets(int jewellerId)
{
Điều này hoạt động tốt.
Nhưng bây giờ tôi cần nhận hai tham số được truyền cho phương thức web
phương pháp web mới trông như thế này
[WebMethod]
public static string GetJewellerAssets(int jewellerId, string locale)
{
}
Làm cách nào để thay đổi mã máy khách để gọi thành công chữ ký phương thức mới này?
BIÊN TẬP:
2 cú pháp sau đã hoạt động
data: '{ "jewellerId":' + filter + ', "locale":"en" }',
và
data: JSON.stringify({ jewellerId: filter, locale: locale }),
trong đó bộ lọc và ngôn ngữ là các biến cục bộ
JSON.stringify
với một đối tượng theo nghĩa đen, bạn PHẢI bao gồm tên tham số bằng dấu hai chấm, tất cả đều được bọc bên trong {}
dấu ngoặc nhọn. Sử dụng JSON.stringify(objectLiteral)
không hoạt động.
[WebMethod] [ScriptMethod(UseHttpGet = true)] public static string TestIBAN(string ccc)
nào?
data: JSON.stringify({ jewellerId: filter, locale: locale })
là cách tốt nhất mà tôi từng thấy, Cảm ơn @ChrisCa