ホームページ  >  記事  >  ウェブフロントエンド  >  jQueryのajax function_jqueryをベースにしたWebサービスのjson変換を実装する

jQueryのajax function_jqueryをベースにしたWebサービスのjson変換を実装する

WBOY
WBOYオリジナル
2016-05-16 18:47:221406ブラウズ

でも、この記事のタイトルをどうやって付けたらいいのか本当に分かりません。このタイトルのせいで見逃してしまったら残念です。

これを作成する前に多くの記事を参照しました:

http://www.roseindia.net/tutorials/json/parse-message-JSON-JS.shtml

http://www.json.org/js.html

http://funkatron.com/site/comments/safely-parsing-json-in-javascript/

http://docs.jquery.com/Ajax/jQuery.getJSON

http://encosia.com/2009/06/29/never-worry-about-asp-net-ajaxs-d-again/

http://encosia.com/2009/04/07/using-complex-types-to-make-calling-services-less-complex/

http://www.isolutionteam.co.uk/json-jquery-ajax-aspnet-and-c-to-get-ajaxed-data-table-rows-passing-multiple-parameters/

最初に行う必要があるステップは、データテーブルをサーバー側で必要な形式に変換する方法です。

当初は .net の javascriptSerializer を使用して完成させようとしました (Genirics ライブラリの List などと組み合わせて) が、後で NewtonSoft.Json を使用する方がより柔軟で拡張性が高いことがわかり、インターネット上でいくつかのコードも見つけました。既製で使えるもの。

サーバー側でデータ変換をどのように実装したかを見てみましょう:

ここではDatatableだけでなくDataSetも変換でき、将来的にはJavascriptSerializerの変換機能も拡張される予定です。変換の最終結果は [] で囲まれた文字列である必要があることに注意してください。最初は、最終的に json をオブジェクトとして返すために {} を使用しようとしましたが、その結果、クライアントは実際には何もわからず、返せませんでした。まったく変換しません。最後に、.net 3.5 では、Web サービスから返された結果が、{"d":***} のような d という名前の json オブジェクトに自動的にパッケージ化されることを紹介する記事を見ました。サーバー側は配列形式でパッケージを生成します。

次に、次の内容のデータベース テーブルを作成しました:

によって定義される Web メソッドは次のとおりです:

シリアライザー メソッドは DNA_JSON にパッケージ化されています。これは、NewtonSoft.Json の基本変換クラスに基づいて拡張されています。

2 番目のステップはクライアントに関するものです:

まず、いくつかの js を使用する必要があります。jQuery.js、json2.js で問題ありません。

上の図に示すように、jQuery の ajax と JSON を使用します。 Parse() 変換関数。

res.d はデフォルトで .net 3.5 のパッケージ化された json の属性であることに注意することも重要です。 Framework2.0 を使用すると、この問題は発生しません。

最後に、これらのオブジェクトで構成される配列をテーブルに表示する方法を見てみましょう。コードは次のとおりです。

コードをコピー コードは次のとおりです:



ソース コードがまだ必要な場合は、メッセージを残してください。次に、この方法を使用していくつかの jQuery ajax プラグインを全員に紹介し、いくつかの datagrid プラグインを asp.net コントロールにカプセル化して、Microsoft のかさばる datagrid を使用する必要がないようにしてみます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。