jQueryの1.5の時点で、すべてのjQueryのAJAXの方法は返すjqXHR
提供するオブジェクトを.error()
、.success()
と.complete()
方法。
違いは何である.success()
とは.complete()
?
jQueryの1.5の時点で、すべてのjQueryのAJAXの方法は返すjqXHR
提供するオブジェクトを.error()
、.success()
と.complete()
方法。
違いは何である.success()
とは.complete()
?
回答:
.success()
ウェブサーバーが200 OK
HTTPヘッダーで応答する場合にのみ呼び出されます-基本的にすべてが問題ない場合。
しかし、.complete()
う常に多分それはエラーを出力し、エラーが返さ- - .completeを()がまだ呼び出されますAJAX呼び出しが成功したかどう関係なく呼び出されます。
それがあなたに重要である場合-それが呼び出さ.complete()
れた後 .success()
に呼び出されることは言及する価値があります。
success()
サーバーが200ステータスコードを返したときにcomplete()
呼び出され、の後に呼び出されsuccess()
ます。そして私はいくつかの違いを見ます:
でsuccess()
あなたのXML応答は、使用して取得した文字列を取得することはできません$.ajax()
し、セットをdataType:xml
しかし、中にcomplete()
は、使用してreaded XML文書の文字列形式を取得することができます
$.ajax({
url:'??',
dataType:'xml',
oncomplete: function(data,status){
console.log(data.responseText);
}
})
success()
呼び出されたときに、サーバーが返すsuccess status code
、のような:200
、201
など
complete()
リクエストが完了すると常に呼び出されます。(いずれにせよ、サーバーからの成功/エラー応答です。)
success
サーバーからの応答がある場合:complete()
そしてsuccess()
呼び出されます。error
サーバーからの応答がある場合:complete()
そしてerror()
呼び出されます。どのような目的で使用できるかをcomplete()
考えます。たとえば、beforeSend()
を表示したりloader image
、complete()
非表示にしたりできるとしますloader image
。