gpt4 book ai didi

javascript - 如何从 javascript 文件中点击 Controller 操作方法

转载 作者:行者123 更新时间:2023-11-28 18:49:57 24 4
gpt4 key购买 nike

这是我试图从包含 knockout 相关功能的 .js 文件中访问的网址:

 self.followAction = $.resolvePath("/People/Follow?uid=" + data.UserId);

这里 People 是 Controller ,Follow 是操作方法,单击按钮时,我想发送 userId,所以我写了这个。

为了解析 JavaScript 中的相对路径,我编写了这个函数

// Fix for resolving relative paths from within js scripts
$.resolvePath = function(url)
{
var path = '@Request.ApplicationPath';
if (path != '/') return path + url;
return url;
};

但是,单击按钮时,我收到此错误:HTTP 错误 404.0 - 未找到网址是:

 localhost:44305/People/@Request.ApplicationPath/People/Follow?uid=8

请告诉我现在应该尝试什么。提前致谢!

最佳答案

Razor 代码不会在 JS 文件中解释,因此 @Request.ApplicationPath 被读取为文字字符串。你需要将该代码放在将被执行的地方,以便你的 JS 可以读取它;也许作为 View 中元素的 data-* 属性,如下所示:

<!-- in a layout view... -->
<body data-app-path="@Request.ApplicationPath">
$.resolvePath = function(url) {
var path = $('body').data('app-path');
if (path != '/')
return path + url;
return url;
};

关于javascript - 如何从 javascript 文件中点击 Controller 操作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34649971/

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