我正在尝试在我的js文件中使用Url.Action()方法为我的Ajax调用定义URL。到目前为止,我失败了。
$.ajax(
{
type: "POST",
url: '@Url.Action("SomeAction", "SomeController")',
data: {
fileID: rightClickedFileId
},
success: function (data) {
}
});
如果我以这种方式定义网址,浏览器会尝试将数据发布到
http://localhost:5907/FileManager/@Url.Action(%22SomeAction%22,%20%22SomeController%22)
结果我的ajax调用失败。
但是,如果我'/SomeController/SomeAction'
改为使用,则一切正常。
第二个可以,但是我想知道第一个的问题吗?可能是由于路由配置引起的吗?
谢谢。
Url.Action
是html辅助方法,将在您的剃刀视图中工作,而不在外部javascript文件中工作。
您可以做的是,Url.Action
在剃刀视图中使用helper方法获取操作方法的相对URL,并将其设置为javascript变量,然后在外部js文件中使用。执行此操作时,请
务必确保使用javascript名称间隔 以避免与现有全局变量发生冲突。
您可以将此代码添加到 __Layout.cshtml中_
<script type="text/javascript">
var yourApp = yourApp || {};
yourApp.Urls = yourApp.Urls || {};
yourApp.Urls.baseUrl = '@Url.Content("~")';
yourApp.Urls.editUserUrl= '@Url.Action("Edit","User")';
</script>
或者在您的页面特定视图中,
@section Scripts
{
<script type="text/javascript">
var yourApp = yourApp || {};
yourApp.Urls = yourApp.Urls || {};
yourApp.Urls.baseUrl = '@Url.Content("~")';
yourApp.Urls.editUserUrl= '@Url.Action("Edit","User")';
</script>
<script src="~/Scripts/PageSpecificExternalJsFile.js"></script>
}
现在,在您的外部javascript文件中,您可以像这样访问它
var urlToEditUser = yourApp.Urls.editUserUrl;
//you can use urlToEditUser now
// Or With the base url, you may safely add the remaining part of your url.
var urlToEditUser2 = yourApp.Urls.baseUrl+"User/Edit";
//you can use urlToEditUser2 now
始终使用Url.Action
或Url.RouteUrl
html
helper方法来构建操作方法的相对URL。无论您当前的页面/路径如何,它都会正确构建网址。
我有以下序列
我不确定这是否是一个与我没有这台计算机的管理权限有关的问题。任何帮助,以便我可以进一步排除故障,将非常感谢! 谢谢
问题内容: 我正在使用石英进行日程安排。 它接受5个参数。(秒,分钟,小时,daysOfMonth,月份)。 当我通过第四个参数作为“ 09”。Eclipse给我错误“ int类型的文字八进制09(数字9)超出范围”。 但是,当我将第四个参数作为“ 9”而不是“ 09”传递时,它起作用了。 谁能解释这个错误? 问题答案: 在Java中,如果要定义整数,则前导“ 0”将表示您正在以八进制定义数字
问题内容: 我使用,当我得到 我删除了构建路径,然后又做了 ,仍然是同样的错误。 问题答案: 该代码不是Java SE的一部分,因此这些类将不在JRE中。您需要找到并下载包含这些类的JAR文件,然后将其添加到Eclipse构建路径中。 (可以在此处下载JAR的一个地方,但是如果此链接中断,可以轻松进行自己的搜索。请转到Maven Central或findjar。)
问题内容: 我有一个jimfs(内存文件系统中的Google)从字节数组中创建的zip文件。当尝试使用打开该文件时,出现错误,提示无法识别该提供程序。我的代码如下: URI类似于:。 堆栈跟踪为: jimfs未与一起列出。它位于分别与 for 相比的单独的类加载器中。 提供者的打印如下: 我尝试基于jimfs ClassLoaderTest示例手动设置类加载器,但没有成功。我在Linux上运行。
问题内容: 有时,我会在页面上寻找可能存在或不存在的元素。我想用/尝试/捕获这种情况,当某些HTML元素不存在时,selenium会抛出该异常。原始例外: 具有讽刺意味的是,它不会让我捕捉到之前抛出的异常吗?代码在这里: 错误在这里: 谷歌搜索/文档整理一无所获…让我感到奇怪的是,selenium可以引发异常但不能捕获它。 问题答案: 您需要先导入异常 然后你可以参考它