ホームページ > 記事 > ウェブフロントエンド > Ajaxバックグラウンド成功から送信されるJSONデータの問題の簡単な分析
最近、JQueryのajaxメソッドを使用する場合、返却する必要があるデータはjsonデータですが、成功返却では返却方法に応じてデータ処理が異なる方法でjsonデータを生成します。以下のエディタでは $.ajax メソッドでの扱い方を紹介していますので、ajax に興味のある方はぜひご覧ください。
最近、JQueryのajaxメソッドを使用する場合、返却する必要があるデータはjsonデータであり、成功返却では返却メソッドに応じてデータ処理が異なる方法でjsonデータを生成します。 $.ajaxメソッドでの扱い方を簡単に説明します。
まず、転送する JSON データを指定します: [{"demoData":"This Is The JSON Data"}]
1、通常の aspx ページを使用して処理します
$.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 コードは、data[0].demoData などの文字列データではなく、データを json オブジェクト データに直接解析する可能性があります。この json オブジェクト データを直接使用します
2、Web サービス (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 メソッド コード
public static string GetDemoData() { return "[{\"demoData\":\"This Is The JSON Data\"}]"; }
ここでのこの処理メソッドは、渡された json データを文字列として扱うため、このデータは実際の json オブジェクト データになるように eval 処理する必要があります。
それは
success:function(data){ eval(data); }です
以上、編集者が紹介したAjaxバックグラウンドサクセスから送信されるJSONデータの問題でしたので、皆様のお役に立てれば幸いです! !
関連する推奨事項:
ajax は成功を受け取らず、エラーのみを受け取り、リクエストステータスコードは 200 です。
javascript - 成功の場合Ajaxのコールバック関数 JSONデータを出力する方法
以上がAjaxバックグラウンド成功から送信されるJSONデータの問題の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。