jQueryを使用したAjaxのパッケージング(主により安全で便利)

5315 ワード

jQueryを使用したAjaxのパッケージング(主により安全で便利)
  • jQueryパッケージはAjaxを簡略化し、ある.get、.postなどの異なる効果の方法.
  • 欠点:(失敗したメッセージが見えない);

  • ここでは$を推奨する.Ajax( )
    主に、リクエストに失敗したメッセージが表示されます.
         $.ajax({
                    type: "post", url: "Ajax1.ashx",
                    data: { i1: $("#txt1").val(), i2: $("#txt2").val() },
                    success: function (data, txtStatus) {alert(data);},
                    error: function () { alert("  "); }
                });
  • Ajaxメソッドのパラメータは辞書であり、postコミット方式を設定することが望ましい.
  • dataは、サーバにコミットされたメッセージ体です.
  • successは、要求が成功した処理イベントである.
  • errorは、通信失敗を要求する処理イベント(サーバエラー500404エラー等)
  • である.
    3種類のAjaxのJsonに対する処理方法を紹介します
    1つ目:面倒くさい、おすすめしない
     $(function () {
                $.ajax({
                    type:"post",url:"jQueryAjaxTest.ashx",
                    data:{i1:10,i2:30},            
                    success: function (resTxt) {
                        //alert(resTxt);
                        var nums=$.parseJSON(resTxt);//json      javascript    (      ,     !)
                        for (var i = 0; i < nums.length; i++) {
                            alert(nums[i]);
                        }
                    },
                    error:function(){
                        alert("ajax  !");
                    }
                });
            });

    ####以上のような使用の$.parseJson()は文字列をJavaScriptオブジェクトに解析しますが、eval()よりも安全です####
    後の2つは後でよく使う方法です
    2つ目:AjaxリクエストでdataTypeを設定する:“json”
           $(function () {
                $.ajax({
                    type: "post", url: "jQueryAjaxTest.ashx",
                    dataType:"json",    //          json   ,         ,        paseJson()      javascript  
                    data: { i1: 10, i2: 30 },
                    success: function (resTxt) {
                        for (var i = 0; i < resTxt.length; i++) {
                            alert(resTxt[i]);
                        }
                    },
                    error: function () {
                        alert("ajax  !");
                    }
    
                });
            });

    このように処理すると、successの最初のパラメータはjavascriptオブジェクトです.手動で解析する必要はありません(実は間接的に$.parsejsonが呼び出されています)
    3つ目:ajaxで要求されたashxファイルの設定:ContentTypeは「アプリケーション/json」
      //       ashx   ,     。。context.Response.ContentType = "application/json";
            $(function () {         
                $.ajax({
                    type: "post", url: "jQueryAjaxTest.ashx",
                    data: { i1: 10, i2: 30 },
                    success: function (resTxt) {
                        for (var i = 0; i < resTxt.length; i++) {
                            alert(resTxt[i]);
                        }
                    },
                    error: function () {
                        alert("ajax  !");
                    }
    
                });
            });
            */

    このように処理すると、successの最初のパラメータはjavascriptオブジェクトです.手動で解析する必要はありません(実は間接的に$.parsejsonが呼び出されています)