aspx 페이지에서 webmethod를 호출하는 다음 jquery 코드가 있습니다.
$.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)
{
}
이 새 메서드 서명을 성공적으로 호출하기 위해 클라이언트 코드를 어떻게 변경합니까?
편집하다:
다음 두 가지 구문이 작동했습니다.
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