Vij*_*vch 2 .net asp.net-mvc-4
我一直试图在另一个外部文件中使用@Url.ActionAjax url,.JS但不幸的是我没有走运。
这是我的代码:
$.ajax({
type: 'post',
url: "@Url.Action("ClearData","Home")",
success: function () {
}
});
Run Code Online (Sandbox Code Playgroud)
此代码仅在 View 内部工作,而在Javascript externally. 我已经搜索了一些可能的解决方案,但似乎与此不同。
有没有其他方法可以@Url.Action在另一个.Js文件中使用?
小智 6
@Url.Action()是剃刀(服务器端)代码,不会在外部文件中解析。选项包括
在主文件中声明一个全局变量,比如
var url = @Url.Action("ClearData","Home");
Run Code Online (Sandbox Code Playgroud)
然后在外部脚本中使用url: urlajax 调用
data-在您处理的元素中包含一个属性,例如,如果它是一个按钮单击事件,则
<button data-url="@Url.Action("ClearData","Home")" id="mybutton">
Run Code Online (Sandbox Code Playgroud)
然后在外部文件中读取该值,例如
$('#mybutton').click(function() {
var url = $(this).data('url');
$.ajax({
url: url,
....
Run Code Online (Sandbox Code Playgroud)