我对Vue相当陌生,我一直在尝试如何使用Axios调用Java API。
vue.config.js
module.exports = {
devServer: {
proxy: 'https://localhost:8080'
}
}
import { createApp } from 'vue'
import axios from "axios"
import VueAxios from 'vue-axios'
import App from './App.vue'
import store from "./store"
import router from "./router"
import './index.css'
const app = createApp(App)
app.use(VueAxios, axios)
app.use(router)
app.use(store)
app.mount('#app')
dashboard.vue
<template>
{{responsedata}}
</template>
<script>
export default {
name: 'Dashboard',
data() {
return {
responsedata: {}
}
},
async mounted() {
const { data } = await this.axios.get('/home')
console.log(data)
}
}
</script>
然而,无论我如何尝试,它总是给出错误:
Uncaught (in promise) TypeError: Cannot convert undefined or null to object
at Function.keys (<anonymous>)
at mergeConfig (axios.js:1308)
at Axios.request (axios.js:1431)
at Axios.<computed> [as get] (axios.js:1521)
at Function.wrap [as get] (axios.js:7)
at Proxy.mounted (Dashboard.vue:19)
at callWithErrorHandling (runtime-dom.esm-bundler-6174b24b.js:8129)
at callWithAsyncErrorHandling (runtime-dom.esm-bundler-6174b24b.js:8138)
at Array.hook.__weh.hook.__weh (runtime-dom.esm-bundler-6174b24b.js:3392)
at flushPostFlushCbs (runtime-dom.esm-bundler-6174b24b.js:8330)
在这个错误中,我编辑了dashboard.vue:19的路径,但它来自那里。这行给出了错误:const{data}=await This.axios.get('/home')
。
@WebServlet
@Path("/home")
public class HomeResource {
private IServerService serverService;
@Inject
public void setServerService(IServerService serverService) {
this.serverService = serverService;
}
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getServers(@Context HttpServletRequest req) {
System.out.println("hello");
HttpSession session = req.getSession();
session.setMaxInactiveInterval(Time.HALF_AN_HOUR.time);
return Response
.ok()
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Credentials", "true")
.header("Access-Control-Allow-Headers", "origin, content-type, accept, authorization")
.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD")
.header("Access-Control-Max-Age", Time.HALF_AN_HOUR.time)
.entity(serverService.getServers())
.build();
}
}
API运行在localhost端口8080上,Vue应用程序运行在localhost端口3000上。我不确定是我做错了跨原点还是完全不同的事情。我所要做的就是从API获取数据并将其显示到前端。
附言。谢谢你的帮助。
如果服务器位于不同的URL和/或端口上,则需要给Axios提供完整的URL,例如localhost:8080/home
。目前,Axios正在尝试获取localhost:3000/home
,它位于Vue端,而不是API端。
我的职能是: 我在这条线上出错了。 我们需要解决它。请帮忙做。
获取错误。我尝试做多个选择,并更改第二个选择的数据与第一个选择的上更改材料表行。我正在使用Firebase。 当“store.Urunler”为null或未定义时,我会出现此错误。而且我的产品没有列在菜单项上,这意味着选择是空的,但state.products有数据 我怎样才能克服这个错误。我还想添加到Urunler,选择一个输入。我知道我应该为onChanges调用函数,但如果它起作用,我以后会
这是控制台告诉我的: TypeError:无法将未定义的转换为对象 (如果我把它从代码中删除,他对vertikal也是这么说的) 除了其他一些空字符串,这是我代码的开始。。。错在哪里?是不是太多了以至于我看不见?
我正在运行一个React应用程序。 当我通过路由(单击按钮或链接)进入页面时,页面工作正常,但当我重新加载页面时,页面崩溃。我看不到错误在哪里,控制台和源代码显示为空,这是服务器消息控制台消息。 这是运行的代码。我尝试删除currentuser、addhabity和许多其他东西,只是为了了解错误的来源。没有结果。如果我通过链接进入页面,一切正常。 HabiddView.web.jsx 生活orm.
我想有一个无限滚动的项目列表,我正在使用这个包https://github.com/CassetteRocks/react-infinite-scroller但是在留档中没有提到抓取功能的样子。 在我的代码中,它是这样的: 完整消息错误: 未捕获(promise中)类型错误:无法读取评估时未定义的属性“companys”(traineships.component.js:71) 编辑:(我不再有错
我正在我的反应应用程序中创建一个上一个和下一个按钮。我试图获取页面的当前索引(我有一个存储在对象中的页面列表) 这是密码 我得到的错误是“类型错误:无法将未定义或空转换为对象” 需要明确的是,imageName和images不是空的或未定义的(因为当I console.log它时,它有我需要的数据)。 提前谢谢!