ホームページ > 記事 > ウェブフロントエンド > JQuery ajaxがJSONを返した場合の処理方法
Json データは、リアルタイムのデータ対話のためのデータ保存方法です。最も一般的に使用される方法は、JQuery ajax が JSON を返すときの処理方法 (3 つの方法) を紹介します。参考にしてください
最近、JQueryのajaxメソッドを使用する際、返されるデータはjsonデータである必要があるため、処理の過程で次のような問題に遭遇しました。 $.ajax メソッドについては、以下で順番に説明します。私は asp.net を使用しているため、処理されるページはすべて .net で行われます。他のメソッドも同じであるはずです
1. JSON の基本知識。
JSON 内のオブジェクトは「{}」で識別されます。「{}」は、{"AreaId":"123"} などのオブジェクトを表し、オブジェクトの値はキーと値の形式になります。ペア(キー:値)。
"[]" は配列を識別し、配列内の各データは ["AreaId": "123", "AreaId": "345"] のように "," で区切られます。
多くの場合、それは次のようなオブジェクトの配列です:
[{“AreaId”:”123”},{“AreaId”:”345”}]
実際、配列もオブジェクトであり、上記の形式は次のように書くこともできます:
{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}
これは、2 つのサブデータを持つ Area オブジェクトを表します。各サブデータもオブジェクトであり、各サブオブジェクトは AreaId です。
JSON の文字列と文字の定義形式は、一般的な C 言語の定義と似ており、二重引用符は文字列を定義し、一重引用符は文字を定義します。
JSON キーは二重引用符で囲まれています。たとえば、上記の「Area」と「AreaId」は二重引用符で囲まれています。一部の言語では、エスケープ文字エスケープ二重引用符を使用できます。
まず送信する JSON データを指定します: [{"demoData":"This Is The JSON Data"}]最も単純です。以下のコードを見てください
$.ajax({ type: "post", url: "Default.aspx", dataType: "json", success: function (data) { $("input#showTime").val(data[0].demoData); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown); } });渡すためのコードは次のとおりですバックグラウンドのデータ
Response.Clear(); Response.Write("[{\"demoData\":\"This Is The JSON Data\"}]"); Response.Flush(); Response.End();
この処理メソッドは、渡されたデータを json データに直接解析します。つまり、ここでのフロントエンドの JS コードは、これらのデータを文字列ではなく json オブジェクト データに直接解析します。 data[0].demoData、
この json オブジェクト データはここで直接使用されます
文字列として、以下のコード
$.ajax({ type: "post", url: "JqueryCSMethodForm.asmx/GetDemoData", dataType: "json",/*这句可用可不用,没有影响*/ contentType: "application/json; charset=utf-8", success: function (data) { $("input#showTime").val(eval('(' + data.d + ')')[0].demoData); //这里有两种对数据的转换方式,两处理方式的效果一样//$("input#showTime").val(eval(data.d)[0].demoData); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown); } });
以下はasmxメソッドコード[WebMethod]です
public static string GetDemoData() { return "[{\"demoData\":\"This Is The JSON Data\"}]"; }ここでのこの処理メソッドは渡されたjsonデータを文字列として扱うので、このデータ実際の json オブジェクト データ 3 になるように eval 処理する必要があります。ashx ファイルを使用してこの方法を処理する方法は、通常の aspx ページの処理と同じであるため、ここでは説明しません。
上記は私が皆さんのためにまとめたもので、将来的に皆さんのお役に立てれば幸いです。
JQuery ajaxSubmit で送信された中国語文字化けコードを解決する方法
JQuery ajax が json を返すときに中国語文字化けコードを解決する方法 Django フレームワーク以上がJQuery ajaxがJSONを返した場合の処理方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。