2015-01-30 3 views
1

Я пытаюсь выяснить, какие параметры я могу передать на вызов jQuery ajax.Параметры в jquery ajax success

Что я привык пишу что-то вроде:

$.ajax({ 
.... 
success: function(response) { 
// put callback here 
} 
.... 
}); 

Так вот мой вопрос:

Очевидно, что «ответ» переменный я ставлю в функции успеха просто забирает все, что сервер посылает назад от вызова ajax. Есть ли способ отправить несколько переменных обратно? Что-то вроде:

... 
success: function(response,httpStatus,whateverElse) { 
} 
... 

Или, есть ли другой способ получить коды ответов HTTP?

Спасибо всем, кто может ответить на этот вопрос!

ответ

4

Вы можете получить response «s status code на success' третьего параметра или complete» s первый параметр, что-то вроде этого:

$.ajax({ 
    success: function(data, textStatus, xhr) { 
    console.log(xhr.status); 
    }, 
    complete: function(xhr, textStatus) { 
    console.log(xhr.status); 
    } 
}); 
+0

Отлично, это был прекрасный ответ! –

1

В дополнение к @Kokizzu вы можете проверить API сайта JQuery, чтобы увидеть, какие параметры передаются на другие функции http://api.jquery.com/jquery.ajax/.

Также еще один способ, который я нашел под рукой, чтобы выяснить, что в настоящее время переданы параметры, когда нет Docs доступна:

success: function() { 
console.log(arguments); 
} 

Это будет войти в консоль все аргументы, которые были переданы этой функции когда он был вызван.

+0

Удивительный, спасибо! Это помогает много. –

0

Вы также можете иметь сервер отправить обратно JSON json_encode в PHP:

Php:

$array['status'] = 0; 
$array['foo'] = 'bar'; 

json_encode($array); 

Ajax:

$.ajax({ 
    ... 
    success: function (data) { 
     console.log(data); 
    } 
}); 

Тогда, очевидно, вы могли бы иметь свой обратный вызов обрабатывать эти переменные.

0
$.ajax({ 
    success: function(data, status, xhttp) { 
    console.log(status + ": " + data); 
    }, 
    error: function(data, status, xhttp) { 
    console.log(status + ": " + data); 
    } 
}); 
+0

Хотя этот код может ответить на вопрос, было бы лучше включить некоторый контекст, объяснив, как он работает и когда его использовать. Ответы только на код не полезны в долгосрочной перспективе. –