如何在MVC应用程序中解析JavaScript的相对路径
How to resolve relative path from JavaScript within MVC application
这是我试图从.js文件中点击的url,该文件包含与敲除相关的函数:
self.followAction=$.resolvePath("/Peoples/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-找不到它正在尝试的url是:
localhost:44305/People/@Request.ApplicationPath/People/Follow?uid=8
我已经知道,在js文件中不会解释razor代码。所以,我把这个函数放在一个局部视图中:
$.resolvePath = function(url)
{
var path = '@Request.ApplicationPath';
if (path != '/') return path + url;
return url;
};
我试着在布局头的部分直接调用它,如下所示:
<head>
<script src="~/Scripts/jquery-1.8.2.min.js" type="text/javascript"></script>
@{ Html.RenderPartial("VirtualPathFix"); }
</head>
但随后错误开始显示:
$.resolveurl: function is not defined
如果我把这个函数直接放在scripts文件夹中的people.js文件中,那么没有错误,但点击follow按钮,传递url的http 404错误是:
localhost:44305/People/@Request.ApplicationPath/People/Follow?uid=8
有人能帮我吗?寻找丢失的
我已经尝试在查看页面的标题中使用window.baseUrl,这是darin:建议的
<script type="text/javascript">
window.baseUrl = '@Url.Content("~/")';
</script>
但是我的people.js文件无法获取此属性,因此错误为:
Uncaught TypeError: window.baseUrl is not a function on line18 in people.js file. Can anyone tell me what are other things to try.
您可以在Razor模板中准备此url:
<head>
<script type="text/javascript">
window.baseUrl = '@Url.Content("~/")';
</script>
</head>
现在,在您的js文件中,您可以使用这个变量window.baseUrl
。您不再需要这个$.resolvePath
函数。
相关文章:
- JavaScript:单击时相对于父级增加变量值
- 如何确定相对较新版本的IE的高度和宽度(IE8不喜欢从JavaScript设置这种样式吗?
- Javascript元素相对于屏幕的位置
- 如何使用Javascript获得相对Xpath
- 为什么html src属性中的相对url是因为Javascript函数中的完整路径
- 从 jquery.ready() 调用的 javascript 何时相对于 中的脚本运行
- 相对网址在JavaScript(element.src)中不起作用
- 如何在从剃刀视图移动内联JavaScript时保留相对URL
- Javascript/Canvas-查找相对于坐标网格位置的鼠标坐标
- MVC5 和 Javascript 相对图像路径混淆
- 以Javascript显示与按钮相对应的图像
- Javascript中具有fetch的相对路径
- 如何相对于画布大小的javascript定位对象
- 相对javascript路径不起作用
- 如何确定相对于内部每个字符的页面的位置(x,y)跨越javascript
- 在不同浏览器中使用 javascript 的相对路径
- JavaScript 调整 iframe 的大小,但 iframe 中的元素具有相对大小
- DIV - JavaScript 中的相对鼠标坐标
- javascript包含相对来自哪里
- jQuery或Javascript根据环境动态更改链接(相对/站点相对/绝对)