Ich habe den folgenden Abfragecode, um eine Webmethode in einer Aspx-Seite aufzurufen
$.ajax({
type: "POST",
url: "popup.aspx/GetJewellerAssets",
contentType: "application/json; charset=utf-8",
data: '{"jewellerId":' + filter + '}',
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed
});
und hier ist die Signatur der Webmethode
[WebMethod]
public static string GetJewellerAssets(int jewellerId)
{
Das funktioniert gut.
Aber jetzt muss ich zwei Parameter an die Webmethode übergeben
Die neue Webmethode sieht so aus
[WebMethod]
public static string GetJewellerAssets(int jewellerId, string locale)
{
}
Wie ändere ich den Clientcode, um diese neue Methodensignatur erfolgreich aufzurufen?
BEARBEITEN:
Die folgenden 2 Syntaxen haben funktioniert
data: '{ "jewellerId":' + filter + ', "locale":"en" }',
und
data: JSON.stringify({ jewellerId: filter, locale: locale }),
Dabei sind Filter und Gebietsschema lokale Variablen
JSON.stringifymit einem Objektliteral MÜSSEN Sie den Parameternamen in einen Doppelpunkt einfügen, der in {}geschweiften Klammern eingeschlossen ist. Verwenden JSON.stringify(objectLiteral)funktioniert nicht.
[WebMethod] [ScriptMethod(UseHttpGet = true)] public static string TestIBAN(string ccc)?
data: JSON.stringify({ jewellerId: filter, locale: locale })ist der beste Weg, den ich je gefunden habe. Danke @ChrisCa