Плагин ajaxForm специально говорит, что вы можете использовать опции, поддерживаемые .ajax()
Обратите внимание, что объект параметров также можно использовать для передачи значений в метод $ .ajax jQuery.Если вы знакомы с опциями, поддерживаемыми $ .ajax, вы можете использовать их в объекте опций, передаваемом ajaxForm и ajaxSubmit.
Таким же образом вы создаете функцию, которая выполняется на success
, вы можете сделать тот, который выполняется на error
.Взгляните на страницу jQuery .ajax()
под:
error(XMLHttpRequest, textStatus, errorThrown)
:
Aфункция, вызываемая в случае сбоя запроса.Функции передаются три аргумента: объект XMLHttpRequest, строка, описывающая тип возникшей ошибки и необязательный объект исключения, если таковой произошел.Возможные значения для второго аргумента (кроме нуля): «timeout», «error», «notmodified» и «parsererror».Это Ajax Event .
В вашем случае просто скройте изображение ошибки, как и в случае успеха.что-то вроде:
// ... code
options = {
// ... code
success: function(responseXML)
{ mce_success_cb(responseXML); }, // <== mce_... takes an argument
error: function() { $('#subscribe_loading').hide();
// any other stuff to do on error;
}
};
// ... code
Вы можете использовать аргументы (XMLHttpRequest, textStatus, errorThrown)
для анонимной функции, чтобы получить информацию об ошибке, сохранить и / или отобразить ее.
Если вы хотите обработать случай, когда есть успешный ответ AJAX, но есть ошибка в ответе, измените mce_success_cb()
... Похоже, он уже настроен на обработку ошибоктакого рода, так что это просто вопрос добавления дополнительной функциональности, которую вы хотите:
// ...
function mce_success_cb(resp){
$('#subscribe_loading').hide();
$('#mce-success-response').hide();
$('#mce-error-response').hide();
if (resp.result=="success"){
// ...
// This stuff happens if resp.result == "success"
// ...
} else {
// Add in the error handling functionality you want here
var index = -1;
var msg;
//...
Некоторые общие проблемы
Позаботьтесь, чтобы сосчитать все ваши скобки и скобки, так какпохоже, что вы оставили некоторые открытыми.
Начало вашего документа готово должно выглядеть следующим образом:
$(document).ready( function() { // <== No need to pass anything to this
// This will all be executed when the document is ready.
// ...
}); // <== Maker sure to close all parens and brackets!!!
Кроме того, обратный вызов success
даст вам несколько параметров, так что вы можетеНе используйте ссылку на функцию для вашего success
обратного вызова, она должна выглядеть примерно так:
success: function(responseXML)
{
mce_success_cb(responseXML);
}
Убедитесь, что вы посмотрите на документацию плагина AJAXForm описание аргументов, переданных обратному вызову success
.