ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery.ajax における成功と完了の違い

jQuery.ajax における成功と完了の違い

巴扎黑
巴扎黑オリジナル
2018-05-14 15:05:301935ブラウズ

$.ajax({
      type: "post",
      url: url,
      dataType:'html',
      success: function(data) { },
     complete: function(XMLHttpRequest, textStatus) { },
     error: function(){}
});

success: リクエストが成功したときに呼び出される関数。この関数は、サーバーから返されたデータという 1 つのパラメータを取得します。この関数は、リクエストが成功したとき、つまり status==200 のときに呼び出されます。
complete: リクエストが完了すると呼び出される関数。この関数は、XMLHttpRequest オブジェクトと成功したリクエストのタイプを説明する文字列の 2 つのパラメータを取得します。この関数は、リクエストが完了したとき (つまり、status==404、403、302...) に呼び出されます。

そのため、success メソッドまたは complete メソッドを作成するときは、渡されるパラメータに注意し、渡されたパラメータ オブジェクトを使用して問題を解決してください

パラメータ リスト:

String(デフォルト: "application/x-www-form-urlencoded") サーバーに情報を送信するときのコンテンツのエンコードタイプ。デフォルト値はほとんどのアプリケーションに適しています。 Object,サーバーに送信されたデータ。リクエスト文字列形式に自動的に変換されます。 GET リクエストの URL に追加されます。この自動変換を無効にするには、processData オプションの説明を参照してください。キー/値形式である必要があります。配列の場合、jQuery は異なる値に同じ名前を自動的に割り当てます。たとえば、{foo:["bar1", "bar2"]} は '&foo=bar1&foo=bar2' に変換されます。 String
パラメータ名 タイプ Description
url String (デフォルト: 現在のページアドレス) リクエストを送信するアドレス。
type String (デフォルト: "GET") リクエストメソッド ("POST" または "GET")、デフォルトは "GET" です。注: PUT や DELETE などの他の HTTP リクエスト メソッド も使用できますが、一部のブラウザーでのみサポートされています。
timeout Number リクエストのタイムアウト(ミリ秒)を設定します。この設定はグローバル設定をオーバーライドします。
async Boolean (デフォルト: true) デフォルトでは、すべてのリクエストは非同期リクエストです。同期リクエストを送信する必要がある場合は、このオプションを false に設定します。同期リクエストはブラウザをロックするため、ユーザーはリクエストが完了するまで他の操作を実行する必要があることに注意してください。
beforeSend Function カスタム HTTP ヘッダーの追加など、リクエストを送信する前に XMLHttpRequest オブジェクトを変更できる関数。 XMLHttpRequest オブジェクトが唯一のパラメータです。
function (XMLHttpRequest) {         this; // the options for this ajax request
         }
cache Boolean (デフォルト: true) jQuery 1.2 の新機能、false に設定すると、ブラウザーのキャッシュから リクエスト情報 が読み込まれません。リクエスト完了後の
complete Function コールバック関数 (リクエストが成功または失敗したときに呼び出されます)。パラメータ: XMLHttpRequest オブジェクト、成功情報文字列。
function (XMLHttpRequest, textStatus) {         this; // the options for this ajax request
         }

contentType
data String
dataType サーバーによって返されると予想される

データ型。指定しない場合、jQuery は HTTP パケットの MIME 情報に基づいて responseXML または responseText を自動的に返し、それをコールバック 関数パラメーター として渡します。 使用可能な値:

"xml": jQuery で処理できる XML ドキュメントを返します。

"html": スクリプト要素を含むプレーンテキストの HTML 情報を返します。

"script": プレーンテキストの JavaScript コードを返します。結果は自動的にキャッシュされません。

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

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

error Function (默认: 自动判断 (xml 或 html)) 请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。
function (XMLHttpRequest, textStatus, errorThrown) {         // 通常情况下textStatus和errorThown只有其中一个有值 
         this; // the options for this ajax request
         }
global Boolean (默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 。可用于控制不同的Ajax事件
ifModified Boolean (默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。
processData Boolean (默认: true) 默认情况下,发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
success Function 请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态
function (data, textStatus) {         // data could be xmlDoc, jsonObj, html, text, etc...
         this; // the options for this ajax request
         }

以上がjQuery.ajax における成功と完了の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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