Ошибка XHR при первом мобильном вызове не выполняется, все последующие вызовы успешны - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть приложение vue js, которое использует axios, чтобы открыть новую вкладку. Ниже приведен код.

var win = window.open('')
  win.document.body.innerHTML = Constants.LOADING_HTML
  axios.get('/api/inventory/report?vehicleId=' + id, {
  }).then(reporthtml => {
    win.document.body.innerHTML = reporthtml.data
  }).catch(error => {
    win.document.body.innerHTML = error.response.data
    win.document.title = 'Error'
  })

Звонок работает отлично при тестировании на моем компьютере. Однако при тестировании на iphone или ipad первый полученный запрос выдает ошибку. После закрытия открытой вкладки и повторного вызова он работает правильно, и все последующие вызовы также работают.

При отладке через safari я вижу следующую ошибку в консоли при сбое этого вызова. Первый вызов параметров выглядит правильно. Но get завершается неудачно без ответного сообщения или кода ответа. При просмотре журнала API вызов выглядит успешным и возвращает соответствующие данные.

enter image description here

Похоже, что улов получает удар, но не из-за API, так как error.response пуст. При проверке только ошибки появляется сообщение «Ошибка сети».

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

Спасибо.

1 Ответ

0 голосов
/ 15 сентября 2018

Я понял, в чем проблема.У вызова, который я делал к API, был асинхронный HTTP-вызов, который возвращался после завершения вызова API.Похоже, что IOS не нравится.После выполнения http-синхронизации звонка ошибка была устранена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...