ホームページ > 記事 > ウェブフロントエンド > jQuery.ajax における成功と完了の違い
$.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 メソッドを作成するときは、渡されるパラメータに注意し、渡されたパラメータ オブジェクトを使用して問題を解決してください
パラメータ リスト:
パラメータ名 | タイプ | 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 | String(デフォルト: "application/x-www-form-urlencoded") サーバーに情報を送信するときのコンテンツのエンコードタイプ。デフォルト値はほとんどのアプリケーションに適しています。 | |
data | Object,String | サーバーに送信されたデータ。リクエスト文字列形式に自動的に変換されます。 GET リクエストの URL に追加されます。この自動変換を無効にするには、processData オプションの説明を参照してください。キー/値形式である必要があります。配列の場合、jQuery は異なる値に同じ名前を自動的に割り当てます。たとえば、{foo:["bar1", "bar2"]} は '&foo=bar1&foo=bar2' に変換されます。 |
dataType | Stringサーバーによって返されると予想される データ型。指定しない場合、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 サイトの他の関連記事を参照してください。