Проверьте код состояния HTTP в блоке регистрации обещаний Ax ios VueJs - PullRequest
0 голосов
/ 16 апреля 2020

Впервые до VueJS. У меня есть следующий код, который извлекает данные из контроллера с помощью ax ios:

SubmitForm: function () {
    axios({
      method: 'post',
      url: '/Home/SubmitedForm',
      data: { "Fields": this.$data }
    }).then(res => {
      alert('Successfully submitted the form ');
      window.close();
      }).catch(err => {
        if (err.response.status == 409) {
          alert(`Already exists. See details: ${err}`)
        }
        else {
          alert(`There was an error submitting your form. See details: ${err}`)
        }

    });

Когда метод контроллера SubmittedForm возвращает 409, я хочу, чтобы выдать конкретное c предупреждение, иначе просто сгенерировать c оповещение. Основываясь на этой странице: https://gist.github.com/fgilio/230ccd514e9381fafa51608fcf137253 Я написал вышеуказанный код. Тем не менее, даже несмотря на то, что возвращенный статус http равен 409, он все равно показывает общее предупреждение c. Я почти уверен, что мне здесь не хватает понимания. Может кто-нибудь, пожалуйста, помогите мне узнать, что я здесь делаю неправильно? Работает как положено на localhost, но после публикации на веб-сайтах Azure снова отображается общая ошибка c.

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Возможно, ваша конечная точка API тормозит политику CORS, поэтому вы не можете прочитать статус такой ошибки (несмотря на то, что она видна на вкладке Сети в инструментах разработчика).

Вы можете установить расширение для браузера, например «CORS везде», чтобы проверить, работает ли он тогда, но любой вызов API, заблокированный CORS, покажет предупреждение / ошибку в консоли браузера по умолчанию.

0 голосов
/ 16 апреля 2020

Возможно, потому что err.response.status - строка, и вы сравниваете ее с числом

...