【发布时间】:2023-04-05 07:20:01
【问题描述】:
这是我试图从包含淘汰相关功能的 .js 文件中点击的 url:
self.followAction = $.resolvePath("/People/Follow?uid=" + data.UserId);
这里 People 是控制器,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 可以读取它;例如,作为视图中元素的data-*属性。 -
好的,谢谢@RoryMcCrossan
-
很高兴为您提供帮助。我添加它作为你的答案
-
我的问题还没有解决,请大家帮帮我@RoryMcCrossan
标签: javascript jquery asp.net-mvc knockout.js