При использовании $ .ajax в jQuery, как я могу сознательно бросить ошибку в загруженный документ?

В моем документе у меня есть этот сценарий:

$.ajax({ type:"POST",url:"ajax.php",data:data,
    success: function() { 
        //onsuccess
    },
    error: function() { 
        //onerror
    }
}); 

Как может я, в документе ajax.php, сознательно бросьте ошибку? Действительно ли достаточно просто бросить 400 Кодов состояния HTTP или что-то? (И если так, действительно ли 400 правильный?)

То, почему я спрашиваю, - то, что я хочу использовать это для представления формы серверу, и если поле не заполнено правильно, я хочу предупредить пользователя через параметр ошибок в $.ajax. Я знаю, что мог сделать это использование JavaScript во-первых, но я надеюсь, что мог сделать это этот путь (таким образом, я не должен писать проверку два раза). Но конечно путем выполнения его этот путь, я не могу разделить различные поля от другого.

На основе то, для чего я хочу использовать его, может я так или иначе бросать "пользовательскую ошибку", поэтому если поле name не было заполнено правильно, это возвращает название поля (т.е. name). Это достаточный, чтобы сделать что-то вроде этого:

В ajax.php:

if (isFilledOutProperly($name) == false) {
    echo "name";
}
else {
    echo "success";
}

И:

success: function(data) { 
    if (data == 'name') {
        //error
    }
            else {
        //success
    }
},

Я могу быть на ложном пути здесь, но если у кого-то есть лучшее предложение о том, как я могу сделать это, скажите мне. Спасибо!

14
задан Eikern 6 February 2010 в 12:39
поделиться

1 ответ

Предложение error в вызовах $. Ajax () на самом деле не связано с обстоятельствами, о которых вы говорите. ошибка касается, например, ошибок HTTP. В этом случае ошибки проверки на самом деле не являются ошибками. Лучше указать тех, кто в обратном вызове success , с соответствующими данными, возвращенными с сервера.

Если вы посмотрите на документацию :

 error (XMLHttpRequest, textStatus, errorThrown) Function 
 

Функция, которая будет вызываться, если запрос завершится неудачно . Функции передаются три аргумента : объект XMLHttpRequest, строка, описывающая тип возникшей ошибки и необязательный объект исключения , если таковая произошла. Возможные значения для второго аргумента (помимо null): "тайм-аут", "ошибка", "немодифицировано" и "ошибка синтаксического анализатора". Это событие Ajax .

Примечание: условия ошибки, о которых он говорит, - это ошибки синтаксического анализа, тайм-ауты, ошибки (HTTP) и отсутствие изменений (что является еще одним ответом HTTP).

Технически ваш запрос выполняется успешно, но проверка не выполняется, что само по себе не является ошибкой.

12
ответ дан 1 December 2019 в 14:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: