gpt4 book ai didi

vue.js - 即使响应为 200(成功)也会调用 Axios Catch

转载 作者:行者123 更新时间:2023-12-03 06:41:36 41 4
gpt4 key购买 nike

我正在使用 Electron Vue带有 Axios 的应用程序,用于我对 Laravel 服务器的 HTTP 调用。在 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 的帖子。所以我在我的 Web 服务器和 Laravel 上完成并启用了它。这造成了更大的困惑。同样的错误,但这次没有数据应用于任何东西。所以 .then() 甚至没有被调用。最重要的是,启用 CORS 后,我的 Axios 似乎正在使用 OPTIONS 的请求方法进行额外的 HTTP 调用。为什么?我不认为 CORS 是我问题的答案。

同样在我的 Electron Vue background.js 中,我重新开启了网络安全。这是因为发展。这没有改变任何东西。
win = new BrowserWindow({
width: 275,
height: 640,
title: 'title',
// webPreferences: { webSecurity: false }
})

有谁知道发生了什么?

编辑 - 1-14-2019

在发现错误“未定义 regeneratorRuntime”后,我认为这是一个 Babel 问题。我已关注所有内容 https://babeljs.io/docs/en/babel-polyfill/我仍然得到“未定义 regeneratorRuntime”。 Babel + Axios + Electron + Await/Sync 一起工作没有任何错误吗?我个人不希望忽略“未定义 regeneratorRuntime”,并尽可能为这个问题找到一个可靠的解决方案。任何输入或我研究的东西将不胜感激!

最佳答案

当您的响应有错误时会发生此问题,例如,当响应正确但在 then 响应中您做了一些抛出错误的事情,axios 然后捕获该错误,即使来自服务器的响应是成功的

关于vue.js - 即使响应为 200(成功)也会调用 Axios Catch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54018400/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com