C# 从不同视图从Vuejs调用控制器操作
我有(顶栏+侧栏+底栏)作为Vuejs组件,它们是每个视图中页面布局的一部分。 在顶栏vuejs文件中,我有一个方法,通过API请求将“某些”数据加载到我的一个控制器:C# 从不同视图从Vuejs调用控制器操作,c#,asp.net-mvc,vue.js,C#,Asp.net Mvc,Vue.js,我有(顶栏+侧栏+底栏)作为Vuejs组件,它们是每个视图中页面布局的一部分。 在顶栏vuejs文件中,我有一个方法,通过API请求将“某些”数据加载到我的一个控制器: beforeMount() { this.loggedUserDeputies.userDeputies = []; console.log("calling LoadLoggedUserDeputies"); $.get('api/Timesheets/LoadLog
beforeMount() {
this.loggedUserDeputies.userDeputies = [];
console.log("calling LoadLoggedUserDeputies");
$.get('api/Timesheets/LoadLoggedUserDeputies')
.then(response => response as Promise<LoggedUserDeputies>)
.then(data => {
this.loggedUserDeputies = data;
});
},
但我有一个问题,获取数据的url总是根据我当前所在的视图进行修改
(因此,不要总是调用:https://localhost:44380/api/Timesheets/LoadLoggedUserDeputies
它被转换为:https://localhost:44380/Activities/api/Timesheets/LoadLoggedUserDeputies
或https://localhost:44380/Reports/api/Timesheets/LoadLoggedUserDeputies
)。即使它是由同一布局组件调用的(这对我来说是新的,很抱歉我的无知)
有没有什么方法可以随时调用相同的url:
https://example.com/api/Timesheets/LoadLoggedUserDeputies
从每一个视图 您正在使用相对路径加载文件:
$.get('api/Timesheets/LoadLoggedUserDeputies')
你需要在它前面加一条斜线,使它成为一条绝对路径
$.get('/api/Timesheets/LoadLoggedUserDeputies')
将从当前服务器加载的。如果还要指定服务器,请执行以下操作:
$.get('https://example.com/api/Timesheets/LoadLoggedUserDeputies')
$.get('https://example.com/api/Timesheets/LoadLoggedUserDeputies')