我在生产服务器中的应用程序有问题,因为网站使用 url 路由“http://productionserver.com/myAppName/controllerName/actionName”运行
我需要将完整的 url 添加到我的 JavaScript 函数中。
现在我在 Razor 中使用并将其作为某些 JavaScript 函数的输入:
myFunc('@Url.RouteUrl("MyRouteUrlName")');
JavaScript 函数:
function MyFunc(nextUrl) {
$('#btnName').on('click', function () {
function CallBurooVaadeValjumineConfirmModal(callback) {
//problem get this url
$.get('/OtherController/CallConfirmModal', function (data) {
var callConfirmModal = data.toLowerCase() === "true" ? true : false;
callback(callConfirmModal);
});
}
function Back() {
}
function Next() {
$.get('/OtherController/Set');
window.location.href = nextUrl;
}
//...other code
});
}
在 Controller 中我已经指定了它:
[Route("myRouteController/myRouteAction", Name = "MyRouteUrlName")]
它返回“/myRouteController/myRouteAction”,但我需要例如“http://localhost:2000/myRouteController/myRouteAction”,而我去生产的地方这个 url 必须是“http://productionserver.com/myAppName/myRouteController/myRouteAction”
如何使用@Url.RouteUrl()
?
最佳答案
我解决了问题,问题出在 Javascript 方面。
Razor JavaScript 函数调用
MyFunc('@Url.RouteUrl("MyRouteUrlName")', '@Url.RouteUrl("MyRouteGetUrlName")', '@Url.RouteUrl("MyRouteSetUrlName")')
Javascript
function MyFunc(nextUrl, getUrl, setUrl) {
$('#btnName').on('click', function () {
function CallBurooVaadeValjumineConfirmModal(callback) {
$.get(getUrl, function (data) {
var callConfirmModal = data.toLowerCase() === "true" ? true : false;
callback(callConfirmModal);
});
}
function Back() {
}
function Next() {
$.get(setUrl);
window.location.href = nextUrl;
}
//...other code
});
}
关于javascript - 从 RouteUrl 获取完整的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41014675/