справка по функции ошибки jquery

#javascript #jquery

#javascript #jquery

Вопрос:

Я не очень разбираюсь в javascript, но я хотел бы реализовать диалоги с ошибками в этом проекте, над которым я работаю. Я хочу отправить http-заголовок, который функция ошибки поймает и отобразит правильное сообщение. Я уже протестировал функцию ошибки с помощью окна предупреждения, и когда я отправляю заголовок 400, запускается функция ошибки.

Возможно ли в jQuery или javascript отображать разные сообщения / диалоги на основе кода заголовка, такого как 400 или 401? На основе этого кода затем показать пользователю правильное сообщение об ошибке? У меня есть около 4 или 5 сообщений, которые мне нужно показать для каждой функции ошибки

 error:function(){
    // call my dialog here
}
  

Ответ №1:

statusCode Опция доступна в jQuery 1.5 для jQuery.ajax :

Карта числовых HTTP-кодов и функций, которые будут вызываться, когда в ответе будет соответствующий код. Например, следующее будет предупреждать, когда статус ответа равен 404:

 $.ajax({
  statusCode: {
    404: function() {
      alert('page not found');
    }
  }
});
  

Если запрос выполнен успешно, функции кода состояния принимают те же параметры, что и при успешном обратном вызове; если это приводит к ошибке, они принимают те же параметры, что и при обратном вызове с ошибкой.

Комментарии:

1. Спасибо, Вивин. Хорошо, здесь я действительно собираюсь показать свои слабые места и задать глупый вопрос. Разве плагин JQ, с которым я работаю, не должен быть разработан для использования функции ajax в первую очередь?

2. @eric Ах, я этого не знал — вы должны упомянуть это в своем вопросе 🙂 Я думал, что вы используете только jQuery. Какой плагин вы используете? И да, если используемый вами плагин не предоставляет вам доступ к этой информации или такому поведению, вы не сможете делать то, что хотите.

3. К сожалению, не похоже, что этот плагин предоставляет вам какую-либо из этих сведений при error обратном вызове.

4. ОК. Можете ли вы сказать мне, какие у меня есть варианты для нескольких диалоговых окон с ошибками? Возможно ли это? Я могу получить ее просто отлично, но у меня много проверок сохраняемых данных на работоспособность, и мне нужно показать пользователю соответствующее сообщение об ошибке.

5. Я не думаю, что вы смогли бы создать несколько диалоговых окон с ошибками при вашей текущей настройке. Это связано с тем, что error обратный вызов не дает вам достаточной информации, чтобы вы могли настроить ошибку, отображаемую пользователю. Вы можете только сообщить пользователю, что произошла ошибка. Если вы хотите более детализированный контроль, вам придется написать что-то самостоятельно, что использует jQuery.ajax . Или посмотрите, не изменили ли вы исходный код плагина, чтобы заставить его делать то, что вы хотите.