ホームページ > ウェブフロントエンド > jsチュートリアル > JQuery ajaxがJSONを返した場合の処理​​方法

JQuery ajaxがJSONを返した場合の処理​​方法

亚连
リリース: 2018-05-25 09:50:22
オリジナル
2469 人が閲覧しました

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 オブジェクト データはここで直接使用されます

2、この処理メソッドを処理するために webservice (asmx) を使用すると、渡されたデータは 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート