我正在进行一些 ajax 调用以返回一些部分 View ,这些 View 在 View 中编写脚本时工作正常。
脚本代码为
<script type="text/javascript">
$.ajax({
url: "@(Url.Action("ProjectPartial", "Project"))",
contentType: 'application/html; charset=utf-8',
type: 'POST',
dataType: 'html',
data: {
documentType: $('#DocumentType').val(),
sectionName: $('#SectionName').val()
}
})
.success(function (result) {
// Display the section contents.
$('#Projects').html(result);
})
.error(function (xhr, status) {
alert(xhr.responseText);
});
</script>
我想要做的是将它们存储在一个名为 renderpartial.js 的 javascript 文件中,以便我可以将 ajax 调用添加到一个文件中,而不是将它们写入每个 View 中。
有人知道这是否可行吗?
我试过放
<script src="~/Scripts/RenderPartial.js"></script>
在我的页面顶部,但我得到的只是错误函数。
最佳答案
只要您使用内联 Razor 语法,例如 @(Url.Action(
),您就无法将其移动到 js 文件
您可以通过指定网址来完成此操作,例如
url: '/Project/ProjectPartial',
或者在View.cshtml中
<script type="text/javascript">
var projectUrl="@(Url.Action("ProjectPartial", "Project"))"
</script>
在 RenderParial.js 中
url: projectUrl,
关于javascript - MVC 4 Ajax 请求 - 引用 javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19185237/