ホームページ  >  記事  >  ウェブフロントエンド  >  Jqueryの$.ajax()メソッドパラメータの詳細な説明

Jqueryの$.ajax()メソッドパラメータの詳細な説明

亚连
亚连オリジナル
2018-05-24 15:28:001865ブラウズ

この記事は、jquery ajax() のパラメータについての詳細な説明を毎日まとめたものです。jquery ajax メソッドにはパラメータがたくさんあるため、少し頭で覚えるのが難しいので、その内容を Web サイトに整理して共有します。ご参考までに

ことわざにあるように、良い記憶力は悪い記憶力ほど良くはありません。jquery の ajax メソッドのパラメーターについて詳しく説明します。参考のためにいくつか示します。

1.url:

には、リクエストの送信先アドレスである文字列型パラメータ (デフォルトは現在のページのアドレス) が必要です。

2.type:

には String 型のパラメータが必要で、リクエスト メソッド (post または get) はデフォルトで get になります。 put や delete などの他の http リクエスト メソッドも使用できますが、一部のブラウザでのみサポートされていることに注意してください。

3.timeout:

には Number 型のパラメータが必要で、リクエストのタイムアウト (ミリ秒) を設定します。この設定は、$.ajaxSetup() メソッドのグローバル設定をオーバーライドします。

4.async:

にはブール型パラメータが必要です。デフォルト設定はすべて非同期リクエストです。同期リクエストを送信する必要がある場合は、このオプションを false に設定します。同期リクエストはブラウザをロックするため、ユーザーはリクエストが完了するまで他の操作を実行する必要があることに注意してください。

5.cache:

にはブール型パラメーターが必要です。デフォルトは true (dataType が script の場合、デフォルトは false) です。これを false に設定すると、ブラウザーのキャッシュからリクエスト情報がロードされません。

6.data:

サーバーに送信されるデータであるオブジェクト型または文字列型のパラメータが必要です。文字列でない場合は、自動的に文字列形式に変換されます。取得リクエストは URL に追加されます。この自動変換を防ぐには、processData オプションをチェックします。オブジェクトはキー/値形式である必要があります。たとえば、{foo1:"bar1",foo2:"bar2"} は &foo1=bar1&foo2=bar2 に変換されます。配列の場合、JQuery は異なる値に同じ名前を自動的に割り当てます。たとえば、{foo:["bar1","bar2"]} は &foo=bar1&foo=bar2 に変換されます。

7.dataType:

文字列型、サーバーから返される予期されるデータ型のパラメーターが必要です。指定しない場合、JQuery は http パッケージの MIME 情報に基づいて、responseXML または responseText を自動的に返し、それをコールバック関数のパラメーターとして渡します。利用可能な型は次のとおりです:
xml: JQuery で処理できる XML ドキュメントを返します。
html: プレーンテキストの HTML 情報を返します。含まれているスクリプト タグは、DOM に挿入されると実行されます。
script: プレーンテキストの JavaScript コードを返します。結果は自動的にキャッシュされません。キャッシュパラメータが設定されていない限り。 (同じドメインの下ではなく) リモート要求を行う場合、すべての post 要求が get 要求に変換されることに注意してください。
json: JSON データを返します。
jsonp: JSONP形式。 myurl?callback=? などの SONP フォームを使用して関数を呼び出すと、JQuery は最後の「?」を正しい関数名に自動的に置き換えてコールバック関数を実行します。
text: プレーンテキスト文字列を返します。

8.beforeSend:

には Function タイプのパラメーターが必要です。カスタム HTTP ヘッダーの追加など、リクエストを送信する前に XMLHttpRequest オブジェクトの関数を変更できます。 beforeSend で false が返された場合、この ajax リクエストはキャンセルできます。 XMLHttpRequest オブジェクトが唯一のパラメータです。 ️ .パラメータ: XMLHttpRequest オブジェクトと、成功したリクエストの種類を説明する文字列。
関数(xmlhttprequest、textStatus){

(1) サーバーから返され、dataType パラメーターに従って処理されたデータ。状態 (2) 状態の文字列を記述します。 On Function (Data, TextStatus) {
// データは XMLDOC、JSONOBJ、HTML、Text などです。

関数タイプのパラメータ、つまりリクエストが失敗したときに呼び出される関数が必要です。この関数には、XMLHttpRequest オブジェクト、エラー メッセージ、キャプチャされたエラー オブジェクト (オプション) という 3 つのパラメータがあります。 AJAX イベント関数は次のとおりです:
Function (XMLHTTPREQUEST, TextStatus, ERRORORONROWN) {
// 通常、そのうちの 1 つだけが情報を含みます
パラメータ

} .12. contentType:

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

13.dataFilter:

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

関数(データ、型)前処理用の生データを返す関数。データとタイプの 2 つのパラメータを指定します。 data は Ajax によって返される元のデータで、type は jQuery.ajax を呼び出すときに指定される dataType パラメーターです。関数によって返された値は、jQuery によってさらに処理されます。
関数(データ、タイプ)。グローバル ajax イベントをトリガーするかどうかを示します。 false に設定すると、グローバル ajax イベントはトリガーされません。ajaxStart または ajaxStop を使用して、さまざまな ajax イベントを制御できます。

16.ifModified:

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

17.jsonp:


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

18.username:

は、HTTP アクセス認証リクエストのユーザー名に応答するために使用される String タイプのパラメーターである必要があります。

19.password:

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

20.processData:

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

21.scriptCharset:

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

ケースコード:

$(function(){
  $('#send').click(function(){
     $.ajax({
       type: "GET",
       url: "test.json",
       data: {username:$("#username").val(), content:$("#content").val()},
       dataType: "json",
       success: function(data){
             $('#resText').empty();  //清空resText里面的所有内容
             var html = ''; 
             $.each(data, function(commentIndex, comment){
                html += &#39;<p class="comment"><h6>&#39; + comment[&#39;username&#39;]
                     + &#39;:</h6><p class="para"&#39; + comment[&#39;content&#39;]
                     + &#39;</p></p>&#39;;
             });
             $(&#39;#resText&#39;).html(html);
           }
     });
  });
});

$.ajax検証ログイン:

 <script type="text/javascript" language="javascript">
    function IbtnEnter_onclick() {
      checklogin();
      return false;
    }
    function checklogin() {
      if ($("#TxtUserName").val() == "") {
        alert("用户名不能为空!");
        $("#TxtUserName").focus();
        return false;
      }
      if ($("#TxtPassword").val() == "") {
        alert("密码不能为空!");
        $("#TxtPassword").focus();
        return false;
      }
      $.ajax({
        type: "POST",
        url: "ajax/Handler.ashx?M=" + Math.random(),
        data: "username=" + $("#TxtUserName").val().toString() + "&pwd=" + $("#TxtPassword").val().toString(),
        success: function (data) {
          if (data == "1") {
            location.href = "index.aspx";
            return true;
          }
          else {
            alert("请确认您输入的用户名或密码输入是否正确!");
            $("#TxtUserName").val("");
            $("#TxtPassword").val("");
            $("#TxtUserName").focus();
            return false;
          }
        }
      })
    }
  </script>

一般ハンドラー

<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
using System.Data.SqlClient;
using System.Web.SessionState;//继承接口IReadOnlySessionState需要引入的命名空间
public class Handler : IHttpHandler, IRequiresSessionState
{
  SqlHelper helper = new SqlHelper();
  public void ProcessRequest(HttpContext context)
  {
    context.Response.ContentType = "text/plain";
    string username = context.Request.Params["username"].ToString().Trim();
    string pwd = context.Request.Params["pwd"].ToString().Trim();
    if (username != "" && pwd != "")
    {
      string sql = @"SELECT * FROM [USER] WHERE USERNAME=&#39;"+username+"&#39; AND PASSWORD=&#39;"+pwd+"&#39; ";
      if (!helper.Exists(sql))
      {
        context.Response.Write("0");
      }
      else
      {
        SqlDataReader reader = helper.ExecuteReader(sql);
        while (reader.Read())
        {
          context.Response.Write("1");
          context.Session["username"] = username.ToString().Trim();
          context.Session["pwd"] = pwd.ToString().Trim();
        }
      }
    }
  }
  public bool IsReusable
  {
    get
    {
      return false;
    }
  }
}

以上が私がまとめたものです。将来的にはみんなの役に立ちます。

関連記事:

Ajaxリクエストの繰り返し送信を防ぐ解決策

ajaxリクエストで返されるデータの順序を分析

ajaxを使用してユーザー名を補完し、存在するかどうかを確認するSSHオンラインモール非同期検証


以上がJqueryの$.ajax()メソッドパラメータの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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