jQueryの1.5の時点で、すべてのjQueryのAJAXの方法は返すjqXHR提供するオブジェクトを.error()、.success()と.complete()方法。
違いは何である.success()とは.complete()?
jQueryの1.5の時点で、すべてのjQueryのAJAXの方法は返すjqXHR提供するオブジェクトを.error()、.success()と.complete()方法。
違いは何である.success()とは.complete()?
回答:
.success()ウェブサーバーが200 OKHTTPヘッダーで応答する場合にのみ呼び出されます-基本的にすべてが問題ない場合。
しかし、.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。