装载了AJAX Javascript和MVC4部分美景(Javascript and MVC4 pa

2019-08-04 12:04发布

我有动态加载两个嵌套的partials到ASP.NET MVC 4视图<div>通过JQuery AJAX调用元素。 每一个泛音具有相当大的一堆自身的Javascript。 为了得到这一切的工作,我公司目前拥有的所有JavaScript的success每个AJAX调用的:

function LoadPartial(someImportantId) {
    $.ajax({
        url: '@Url.Action("LoadThePartial")' + '?id=' + someImportantId,
        type: 'POST',
        async: false,
        success: function (result) {
            $("#partialContainerDiv").html(result);
            //here there be great piles of javascript
        }
    });
}

由于有两个这样的泛音和每一个需要数百行JavaScript代码的,主视图文件越来越难以管理。 我很想把所有的这个脚本代码到一个单独的.js文件,但我仍然足够新的JavaScript,我在很大程度上依赖于Chrome浏览器的脚本调试工具,和我有麻烦搞清楚如何(如果)我能得到这个脚本文件来加载。 我试过了:

  • 添加脚本包括对部分文件。 在这种情况下,部分的JavaScript仍然在运行时不加载, 显然有包括局部视图是不是一个好主意呢 。

  • 添加脚本包括到主视图。 这是行不通的。 部分的JavaScript没有重视正确,这使得在同步层次感。

有没有什么办法,我可以有一个单独的JavaScript文件的加载AJAX局部的和仍然能够调试部分在客户端上? 更重要的是,我在哪里把所有的JavaScript进行AJAX的装载部分景致?

Answer 1:

裹在包括在主要页面的功能您的部分脚本; 呼叫在AJAX成功处理程序的功能,执行脚本的谐音已加载后。



Answer 2:

还有,现在把你的动态JS代码到源树视图中的主流浏览器的解决方案,这是所有使它调试的需要。 加:

//# sourceURL=YOUR_FILENAME_OR_FULL_PATH_HERE

的任何地方内的<script>在动态加载局部视图标签。 在我的实验中,#后的空间似乎需要在Chrome而不是Firefox中,这基本上意味着它是必需的。

来源: https://developers.google.com/web/updates/2013/06/sourceMappingURL-and-sourceURL-syntax-changed和其他几个堆栈溢出问题



文章来源: Javascript and MVC4 partial views loaded with AJAX