javascript - MVC 4 Ajax 请求 - 引用 javascript 文件

标签 javascript jquery ajax asp.net-mvc

我正在进行一些 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/

相关文章:

javascript - 求和数字javascript

javascript - 如何在不调整浏览器页面设置的情况下打印背景图像/样式?

php - 当我点击浏览器的后退按钮时,如何在主页上重定向

javascript - JQuery .toggle ('Slide' ) 没有显示我的内容

php - 在页面加载时选择选项加载时触发事件

javascript - Leaflet.js 将按钮添加到标记弹出窗口

javascript - 如何在jsp中访问javascript值?

jquery - 如何获取 bootstrap-fileinput 中的响应数据?

javascript - 在 javascript 循环中添加 .onclick 监听器

javascript - 如何检查一个列表是否是另一个有顺序的列表的子列表?