ホームページ >ウェブフロントエンド >jsチュートリアル >jQueryの$.ajax()パラメータの紹介と非同期リクエスト操作サンプルコードの詳細説明

jQueryの$.ajax()パラメータの紹介と非同期リクエスト操作サンプルコードの詳細説明

伊谢尔伦
伊谢尔伦オリジナル
2017-07-21 14:51:061257ブラウズ

$.ajax() パラメータの説明

url: リクエストを送信するアドレス。

type: リクエストメソッド (post または get) のデフォルトは get です。

timeout: 要件は数値型パラメーターであり、リクエストのタイムアウト (ミリ秒) を設定します。

async: デフォルト設定は true で、すべてのリクエストは非同期リクエストです。同期リクエスト。 false に設定します。同期リクエストはブラウザをロックするため、ユーザーはリクエストが完了するまで他の操作を実行する必要があることに注意してください。 -----これは同期操作にとって最も重要な設定要素です

キャッシュ: ブラウザーにキャッシュがある場合、ブラウザーのキャッシュされたデータは取得されません。データ: 要件は、サーバーに送信されるデータ、オブジェクト型または文字列型のパラメーターです。文字列でなくなった場合は、自動的に文字列形式に変換されます

。取得リクエストは URL に追加されます。この自動変換を防ぐには、processData オプションを表示します。オブジェクトはキー/値形式である必要があります。たとえば、{foo1:"bar1",foo2:"bar2"} は &foo1=bar1&foo2=bar2 に変換されます。配列の場合、JQuery は異なる

値の同じ名前に自動的に対応します。たとえば、{foo:["bar1","bar2"]} は &foo=bar1&foo=bar2 に変換されます。

dataType: パラメーターは文字列型であり、サーバーによって返されることが予期されるデータ型である必要があります。指定しない場合、JQuery は http パッケージの mime

情報に基づいて、responseXML または responseText を自動的に返し、それをコールバック関数のパラメーターとして渡します。

利用可能なタイプは次のとおりです:

JQuery を使用して使用します。

html: プレーンテキストの HTML 情報を返します。含まれている script タグは、DOM に挿入されると実行されます。

スクリプト: プレーンテキストの JavaScript コードを返します。結果は自動的にキャッシュされません。キャッシュパラメータが設定されていない限り。 (同じドメインの下ではなく) リモート要求を行う場合、すべての post 要求が get 要求に変換されることに注意してください。

json: JSON データを返します。

jsonp: JSONP 形式。 myurl?callback=? などの SONP フォームを使用して関数を呼び出すと、JQuery は最後の「?」を正しい関数名に自動的に置き換えてコールバック関数を実行します。

text: プレーンテキスト文字列を返します。

beforeSend: パラメーターは Function タイプである必要があります。カスタム HTTP ヘッダーの追加など、リクエストを送信する前に XMLHttpRequest オブジェクトの関数を変更できます。 beforeSend で false が返された場合、この ajax リクエストはキャンセルできます。 XMLHttpRequest オブジェクトが唯一のパラメータです。

)。 パラメータ: XMLHttpRequest オブジェクトと、成功したリクエストの種類を説明する文字列。関数 (xmlhttpRequest, textstatus) {

this; // この Ajax リクエスト中に渡されたオプション パラメータを呼び出します

Success: 関数の機能を必要とする必須パラメータであり、リクエストの後に呼び出されるパラメータが 2 つあります。

(1) サーバーから返され、dataType パラメーターに従って処理されたデータ。

(2) ステータスを説明する文字列。

パラメータ。リクエストが失敗したときに呼び出される関数。この関数には、XMLHttpRequest オブジェクト、エラー メッセージ、キャプチャされたエラー オブジェクト (オプション) という 3 つのパラメータがあります。

}

contentType: サーバーに情報を送信するときは、文字列型のパラメーターが必要です。コンテンツのエンコーディング タイプはデフォルトで「application/x-www-form-urlencoded」になります。このデフォルト値は、ほとんどのアプリケーションに適しています。

dataFilter: Ajax から返された元のデータを前処理する関数である Function タイプのパラメーターが必要です。 データとタイプの 2 つのパラメータを指定します。 data は Ajax によって返される元のデータで、type は jQuery.ajax を呼び出すときに指定される dataType パラメーターです。関数によって返された値は、jQuery によってさらに処理されます。 On Foint (data, type) {

// 処理後のデータ

return data;グローバル ajax イベントをトリガーするかどうかを示します。 false に設定すると、グローバル ajax イベントはトリガーされません。ajaxStart または ajaxStop を使用して、さまざまな ajax イベントを制御できます。

ifModified: ブール型パラメーターである必要があり、デフォルトは false です。サーバー データが変更された場合にのみ新しいデータを取得します。サーバー データの変更を判断するための基礎となるのは、Last-Modified ヘッダー情報です。デフォルト値は false で、ヘッダー情報が無視されることを意味します。

jsonp: パラメーターは String 型である必要があり、コールバック関数の名前は jsonp リクエストで書き換えられます。 この値は、「callback=?」などの GET または POST リクエストの URL パラメーターの「callback」部分を置換するために使用されます。たとえば、{jsonp:'onJsonPLoad'} は「onJsonPLoad=?」に渡されます。サーバー。

username: HTTP アクセス認証リクエストのユーザー名に応答するために使用される文字列型の必須パラメータ。

password: 必須パラメータは文字列型で、HTTP アクセス認証リクエストに応答するために使用されるパスワードです。

processData: ブール型パラメータが必要です。デフォルトは true です。デフォルトでは、送信されたデータは、デフォルトのコンテンツ タイプ「application/x-www-form-urlencoded」に一致するオブジェクト (技術的には文字列ではない) に変換されます。 DOM ツリー情報やその他の変換したくない情報を送信する場合は、false に設定します。

scriptCharset: 文字列型のパラメーターである必要があります。リクエスト中に dataType が「jsonp」または「script」で、型が GET の場合にのみ、文字セット (charset) を強制的に変更するために使用されます。 。通常、ローカルとリモートのコンテンツのエンコーディングが異なる場合に使用されます。

例:

//点击新增按钮,新增数据
      $("#btnAdd").click(function () {
        var bool = true;//存储异步请求结果是否通过
        //1、验证优惠额度正确性
        var index = parseInt($("#intGiftMold").val());
        if (index == 1) {
          //满减
          var reg = /^[0-9]+,[0-9]+$/;
          if (!reg.test($("#strDiscounts").val())) {
            $.messager.alert('错误提示', '满减优惠额度格式不正确', 'error');
            return false;
          }
        }
        else if (index == 2) {
          var reg = /^0\.[0-9]+$/;
          if (!reg.test($("#strDiscounts").val())) {
            $.messager.alert('错误提示', '折扣优惠额度格式不正确', 'error');
            return false;
          }
        }
        else if (index == 3) {
          var reg = /^[1-9]+[0-9]$/;
          if (!reg.test($("#strDiscounts").val())) {
            $.messager.alert('错误提示', '指定金额优惠额度格式不正确', 'error');
            return false;
          }
        }
        //2、验证优惠范围正确性
        var index = parseInt($("#intGiftRange").val());
        if (index == 1) { //选择全站
        }
        else if (index == 3) {  //判断商品ID
          $.ajax({
           type: "post",
            url: "Gift_Add.aspx",
           cache: false,
            async: false,  //设置同步了~~~~~~~~~
           dataType: "json",
            data: { "method": "isExistInfoTitle", "intInfoID": $("#intInfoID").val() },
            success: function (data) {
              if (data.result == "false") {
                $.messager.alert('错误提示', '商品ID不存在', 'error');
                bool = false;
               $("#isExistInfoTitle").css({ "display": "" });
              }
              else {
                $("#isExistInfoTitle").css({ "display": "none" });
                bool = true;
              }
            }
          });
        }
          });
        }
if (bool == false) {//如果bool为false才返回,true继续往下走
          return false;  //不能在异步方法里面return,不起作用
        }
        var validate = $("#form").form("validate");
        if (!validate) {//表单验证不通过
          return false;
        }
        //当上面全部验证通过了执行新增操作
        $.messager.confirm('温馨提示', '是否确认添加', function (r) {
          if (r) {
            $.post("Gift_Add.aspx?method=addGift", $("#form").serialize(), function (data) {
              $.messager.alert('成功提示', '添加成功', 'info');
            });
          }
        });
      });

以上がjQueryの$.ajax()パラメータの紹介と非同期リクエスト操作サンプルコードの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。