Ich versuche, einige einfache JSON an eine ASP.NET 4.5 Webmethod von jQuery übergeben. Und es funktioniert nicht so, wie ich es will. Es funktioniert, wenn ich die Eingänge als separate Parameter akzeptieren:Übergeben Sie ein benutzerdefiniertes Objekt an ASP.NET Webmethod von jQuery mit JSON
[WebMethod]
public static Address GetJSonAddress(string name, string street)
Aber wenn ich es als ein Objekt zu nehmen versuchen, es nicht funktioniert, was in übergeben wird ist einfach null:
[WebMethod]
public static Address GetJSonAddress(Address newAddress)
Ich habe versuchte Webmethoden, Pagemethods, WCF mit DataContractJsonSerializer ... nichts. Die Address-Klasse ist entsprechend mit Datamember/DataContract dekoriert. Die Eigenschaften werden einschließlich Groß- und Kleinschreibung zugeordnet.
Die jQuery, in der ich alle Arten der Weitergabe der Daten einschließlich des Einwickelns in ein Adressobjekt versucht habe ... wenn ich es anders als das mache, was ich habe, wird das Webmethod nicht aufgerufen und ich erhalte Fehler 500 :
Save2 = function() {
var address = { prefix: GLOBALS.curr_prefix };
$('input[id^=' + GLOBALS.curr_prefix + '],select[id^=' + GLOBALS.curr_prefix + ']').each(function() {
address[this.id.substr(4)] = $.trim($(this).val());
})
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/WebServices/Insert",
data: JSON.stringify(address),
dataType: "json",
success: function (data, textStatus) {
console.log(data, textStatus);
},
failure: function (errMsg) {
MsgDialog(errMsg);
}
});
}
Schließlich wirklich keine Methode mit 121 Parameter haben möchte ich dies, mit 121 Eingabezeichenfolgen zu tun haben, und. Jede Hilfe wird geschätzt.
Was passiert, wenn Sie 'Daten: {newaddress: JSON.stringify (Adresse)}'? – NoLifeKing
Das Webmethod wird nicht aufgerufen und ich erhalte den Fehler 500 im Browser. Der POST sieht gut aus: {'Adresse': {"Name": "Name", "Straße": "Straße", "Stadt": "Stadt", "Zip": "11111"}} –