ホームページ >ウェブフロントエンド >jsチュートリアル >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 サイトの他の関連記事を参照してください。