您好我有一个litle jquery脚本
$(document).ready(function () {
$.ajax({
url: '@Url.Action("AjaxTest", "Home")',
})
});
当我将它直接包含在我的MVC应用程序的布局页面中时,它可以正常工作。当我试图从外部文件(infoAjax.js)调用它时,它失败并收到消息:无法加载资源:服务器响应状态为404(未找到)。我的捆绑文件:
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js",
"~/Scripts/infoAjax.js"
));
和布局页面的负责部分:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
答案 0 :(得分:3)
由于.js文件未被asp.net mvc视图引擎解析,因此您根本无法使用任何代码。我建议使用不引人注目的方法,像这样
<div id="loader" data-request-url="@Url.Action("Action", "Controller")"></div>
在javascript中,使用data-request-url的值
$(function(){
$('#loader').click(function(){
var url = $(this).data('request-url');
alert(url);
});
});
答案 1 :(得分:2)
@ Url.Action(&#34; AjaxTest&#34;,&#34; Home&#34;)仅适用于MVC项目的视图。尝试使用像
这样的确切地址 url: 'localhost/Home/AjaxTest',
而不是
url: '@Url.Action("AjaxTest", "Home")',