Вызывается Axios Catch, даже если ответ 200 (Успешно) - PullRequest
0 голосов
/ 03 января 2019

Я использую Electron Vue приложение с Axios для моих HTTP-звонков на мой сервер Laravel.Все было прекрасно в режиме Dev от Electron.Но как только я собрал приложение Electron и установил его на клиентский компьютер, весь хаос разразился.Я исправляю некоторые проблемы, но эта проблема убьет меня.

Проще говоря, даже если все Axios возвращаются успешно, они выдают ошибку, которую я вставил в .catch ().Я, честно говоря, очень запутался, как это вообще возможно.Например, когда моя программа загружается, она делает несколько звонков, чтобы получить необходимую информацию.Выдает ошибку и отображает предупреждение.Я полагаю, это был только мой сервер Laravel.Но данные были успешно получены и добавлены в приложение.

axios.post(`${this.$store.state.URL}/get_server_ticket_from_table?api=${this.$store.state.API}`, {
    id: this.ServerTicketMove.Server1.id,
    table: this.ServerTicketMove.currentTable
})
.then((response) => {
    console.log(response)

    if (typeof response.data.id != 'undefined') {
        this.ServerTicketMove.ticket = response.data

    }

})
.catch(() => {
    alert('Did not get Servers Table Information. Cant Connect to Main Server.')
}) 

Я немного погуглил и увидел несколько сообщений о CORS.Так что я прошел и включил это на своем веб-сервере и в Laravel.Это сделало больше беспорядка.Та же ошибка, но на этот раз данные не были применены ни к чему.Так что .then () даже не вызывается.Вдобавок к этому с включенным CORS мой Axios, кажется, делает дополнительный HTTP-вызов с методом запроса OPTIONS.Зачем?Я не думаю, что CORS - это решение моей проблемы.

Также внутри моего Electron Vue background.js я снова включил веб-безопасность.Который был выключен из-за развития.Что ничего не изменило.

win = new BrowserWindow({
    width: 275,
    height: 640,
    title: 'title',
    // webPreferences: { webSecurity: false }
})

Кто-нибудь знает, что происходит?

РЕДАКТИРОВАТЬ - 1-14-2019

После обнаружения ошибки «регенератор не определен» я думаю, что это проблема Babel.Я следовал всему https://babeljs.io/docs/en/babel-polyfill/ и все еще получаю сообщение «регенератор не определен».Есть ли что-нибудь, что Babel + Axios + Electron + Await / Sync работает без ошибок?Лично я хотел бы не просто игнорировать «регенератор не определено время», а найти возможное решение этой проблемы, если это возможно.Любой вклад или вещи для меня будут оценены!

1 Ответ

0 голосов
/ 15 января 2019

После долгих поисков я понял, что мне просто не хватает зависимостей в моем package.json. Несмотря на то, что они были необходимы в папке node_modules, они не были перечислены как зависимости в моей программе.

Работа над моей производственной сборкой Electron + Vue + Axios + Sync / Await

npm install --save @babel/runtime 
npm install --save-dev @babel/plugin-transform-runtime

И, в .babelrc, добавить:

{
    "presets": ["@babel/preset-env"],
    "plugins": [
        ["@babel/transform-runtime"]
    ]
}

Получил этот код из этого ответа от здесь

...