我已将此 JavaScript 函数包含在 View 页面的头部部分,如下所示,我想在位于脚本文件夹中的 people.js 文件中调用此 window.baseUrl:
<head>
<script type="text/javascript">
window.baseUrl = '@Url.Content("~/")';
</script>
@*<script type="text/javascript" src="@Url.Content("~/scripts/people.js")"> </script>*@
</head>
在 people.js 文件中,我尝试像这样调用此函数:
self.followersUrl = window.baseUrl("/People/Followers?uid=" + data.UserId);
但它给了我错误:
Uncaught TypeError: window.baseUrl is not a function
我想知道如何注入(inject)这个。 在查看页面上,我想发送此 followerUrl 和其他 url,如下所示:
<a data-bind="attr: { href: followersUrl }">
<a class="btn pull-right" data-bind="visible: !isFollowed && !isOwnProfile, attr: { href: followAction }">Follow</a>
根据 Scott 的回答,他建议这样做,因为 window.baseUrl 不是一个函数,所以我尝试了这个:
self.followAction = window.baseUrl + '/People/Follow?uid=' + data.UserId;
现在,当我尝试单击“关注”按钮时,
它给出的错误我在控制台中检查了这个: people/Follow?uid=8 net::ERR_NAME_NOT_RESOLVED 控制台中的网址是 people/Follow?uid=8:1 但我在浏览器选项卡中看到正确的网址,即人/关注?uid=8
在这里,正如你所看到的,大写的 P 更改为小写的 p,然后我返回到 .js 文件并尝试了以下操作:
self.followAction = window.baseUrl + 'localhost:44305/People/Follow?uid=' + data.UserId;
然后它的发送网址是这样的:
https://localhost:44305/localhost:44305/People/Follow?uid=8
这里发生了什么。请给我建议
最佳答案
window.baseUrl
是一个字符串,而不是一个函数。
您可能想要:
window.baseUrl + '/People/Followers?uid=' + data.UserId;
关于javascript - 如何将 window.baseUrl 从 razor 代码返回到我的外部 .js 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34670263/