mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Fixes #9854: propagates native statusText onto jqXHR.statusText. statusText in callbacks is still normalized. Unit test added.
This commit is contained in:
parent
1d220cdd55
commit
0ed99097bd
@ -480,7 +480,7 @@ jQuery.extend({
|
|||||||
// Callback for when everything is done
|
// Callback for when everything is done
|
||||||
// It is defined here because jslint complains if it is declared
|
// It is defined here because jslint complains if it is declared
|
||||||
// at the end of the function (which would be more logical and readable)
|
// at the end of the function (which would be more logical and readable)
|
||||||
function done( status, statusText, responses, headers ) {
|
function done( status, nativeStatusText, responses, headers ) {
|
||||||
|
|
||||||
// Called once
|
// Called once
|
||||||
if ( state === 2 ) {
|
if ( state === 2 ) {
|
||||||
@ -508,6 +508,7 @@ jQuery.extend({
|
|||||||
var isSuccess,
|
var isSuccess,
|
||||||
success,
|
success,
|
||||||
error,
|
error,
|
||||||
|
statusText = nativeStatusText,
|
||||||
response = responses ? ajaxHandleResponses( s, jqXHR, responses ) : undefined,
|
response = responses ? ajaxHandleResponses( s, jqXHR, responses ) : undefined,
|
||||||
lastModified,
|
lastModified,
|
||||||
etag;
|
etag;
|
||||||
@ -559,7 +560,7 @@ jQuery.extend({
|
|||||||
|
|
||||||
// Set data for the fake xhr object
|
// Set data for the fake xhr object
|
||||||
jqXHR.status = status;
|
jqXHR.status = status;
|
||||||
jqXHR.statusText = statusText;
|
jqXHR.statusText = "" + ( nativeStatusText || statusText );
|
||||||
|
|
||||||
// Success/Error
|
// Success/Error
|
||||||
if ( isSuccess ) {
|
if ( isSuccess ) {
|
||||||
|
5
test/data/statusText.php
Normal file
5
test/data/statusText.php
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
header( "HTTP/1.0 $_GET[status] $_GET[text]" );
|
||||||
|
|
||||||
|
?>
|
@ -2092,6 +2092,19 @@ test( "jQuery.ajax - Context with circular references (#9887)", 2, function () {
|
|||||||
ok( success, "context with circular reference did not generate an exception" );
|
ok( success, "context with circular reference did not generate an exception" );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test( "jQuery.ajax - statusText" , 4, function() {
|
||||||
|
stop();
|
||||||
|
jQuery.ajax( url( "data/statusText.php?status=200&text=Hello" ) ).done(function( _, statusText, jqXHR ) {
|
||||||
|
strictEqual( statusText, "success", "callback status text ok for success" );
|
||||||
|
strictEqual( jqXHR.statusText, "Hello", "jqXHR status text ok for success" );
|
||||||
|
jQuery.ajax( url( "data/statusText.php?status=404&text=World" ) ).fail(function( jqXHR, statusText ) {
|
||||||
|
strictEqual( statusText, "error", "callback status text ok for error" );
|
||||||
|
strictEqual( jqXHR.statusText, "World", "jqXHR status text ok for error" );
|
||||||
|
start();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
test( "jQuery.ajax - statusCode" , function() {
|
test( "jQuery.ajax - statusCode" , function() {
|
||||||
|
|
||||||
var count = 12;
|
var count = 12;
|
||||||
|
Loading…
Reference in New Issue
Block a user