Sende JSON an webmethod?

7

Wie kann ich ein JSON-Objekt mithilfe von jQuery an eine Webmethode senden?

    
Hannoun Yassir 06.10.2009, 19:01
quelle

7 Antworten

20

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 -Eigenschaften durch tatsächliche Daten ersetzen, die Sie senden möchten:

%Vor%     
TheVillageIdiot 06.10.2009, 19:05
quelle
11

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:

%Vor%

Ich empfehle Ihnen, den json2.js Parser in Ihre Seiten aufzunehmen Die Funktion JSON.stringify ist über den Browser verfügbar.

    
CMS 06.10.2009 19:09
quelle
6

Eine andere Bibliothek, die Sie verwenden können, ist die jquery-json -Bibliothek . Einmal enthalten:

%Vor%     
ceejayoz 06.10.2009 19:29
quelle
5

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:

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.

    
Jeff Sternal 06.10.2009 19:10
quelle
0

Sie müssen es mit Ajax posten und die eingehende Zeichenfolge in der Webmethode akzeptieren. Dann müssten Sie den JavaScript-Deserializer verwenden, um ihn auf der Serverseite in ein Objekt zu konvertieren.

    
lomaxx 06.10.2009 19:05
quelle
0

JSON.stringify hilft, aber:

  1. Es ist nicht browserübergreifend Schau mal hier: Ссылка

  2. Für eingebaute Funktionen des Browsers - jeder Browser wird seine Probleme haben. Wenn Sie die obige Serialisierung verwenden, müssen Sie:

    • Entfernen Sie Zeilenumbrüche mit regexp in Strings
    • achte auf "in Strings
naugtur 28.01.2010 14:23
quelle
0

Beispielcode ist hier:

%Vor%     
Nalan Madheswaran 18.06.2013 03:11
quelle

Tags und Links