Wie kann ich ein JSON-Objekt mithilfe von jQuery an eine Webmethode senden?
Bitte beachten Sie dies Artikel von Dave Ward. Es ist ein komplettes Tutorial, um dieses Zeug zu machen. Sie werden dort auch andere großartige jQuery / ASP.net Sachen finden.
BEARBEITEN: - Dave ruft Methoden ohne Argumente auf, Sie können leere data strong> -Eigenschaften durch tatsächliche Daten ersetzen, die Sie senden möchten:
%Vor% WebMethods erwartet eine Zeichenfolge, die JSON enthält, die auf der Serverseite geparst wird. Ich benutze die Funktion JSON.stringify
, um ein -Parameter -Objekt in eine Zeichenfolge zu konvertieren und die Daten zu senden, ich habe eine Funktion so:
Ich empfehle Ihnen, den json2.js Parser in Ihre Seiten aufzunehmen Die Funktion JSON.stringify ist über den Browser verfügbar.
Eine andere Bibliothek, die Sie verwenden können, ist die jquery-json
-Bibliothek . Einmal enthalten:
Die bequemsten Lösungen, die ich gesehen habe, vereinfachen dies, indem Sie die Open-Source-Bibliothek JSON2.js zum Parsen und komplexe Objektdaten "stringifizieren".
Diese zwei ausgezeichneten Artikel gehen ins Detail:
Verwenden von komplexen Typen zu machen ruft Dienstleistungen weniger ... Komplex von Dave Ward.
JavaScript-Arrays über JQuery Ajax zu einer Asp.Net WebMethod von Chris Brandsma.
Der zweite Artikel ist möglicherweise besonders relevant für Sie, obwohl er eine web Dienst -Methode mit der folgenden Signatur aufruft ...
%Vor%
... zeigt, wie die JSON2.js-Bibliothek verwendet wird, um in JavaScript eine List<string>
zu rendern (mit jQuery, dieses Beispiel stammt direkt aus dem zweiten Artikel):
%Vor%
Verwenden Sie einfach Ihre Webmethod-URL anstelle des Web-Service.
JSON.stringify hilft, aber:
Es ist nicht browserübergreifend Schau mal hier: Ссылка
Für eingebaute Funktionen des Browsers - jeder Browser wird seine Probleme haben. Wenn Sie die obige Serialisierung verwenden, müssen Sie: