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
});
そしてここにWebメソッドのシグネチャがあります
[WebMethod]
public static string GetJewellerAssets(int jewellerId)
{
これは正常に動作します。
しかし今、私は2つのパラメータをWebメソッドに渡す必要があります
新しいWebメソッドは次のようになります
[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