繁体   English   中英

重构jQuery AJAX调用以获得部分视图

[英]Refactor jQuery AJAX call for partial view

在我的ASP.net MVC 5应用程序中,我多次调用不同的局部视图。 要加载/刷新这些视图,我正在使用jQuery AJAX。

但是我最终对jquery进行了很多调用,这看起来很丑陋且多余。 我认为必须有更好的方法来做到这一点。

这是我的index.cshtml中的脚本,我在其中调用部分视图。

    $(document).ready(function() {
        // load today's level
        $.ajax({
            url: '@Url.Action("_TodayLevel")',
            type: 'GET',
            contentType: 'application/json',
            dataType: 'html',
            //traditional: true,
        }).success(function(e) {
            $('#today-level').html(e);
        });

        // .... truncated to save space. But you get the idea, I have lots of this

        // load host level
        $.ajax({
            url: '@Url.Action("_HostLevel")',
            type: 'GET',
            contentType: 'application/json',
            dataType: 'html',
            //traditional: true,
        }).success(function (e) {
            $('#host-level').html(e);
        });
    });

有什么更好的方法吗?

在您给出的示例中,您实际上是在请求一个HTML页面,然后使用返回的HTML更新页面的一部分。

如果是这种情况,那么您可以简单地使用jQuery的.load()方法: https : //api.jquery.com/load/

您可能只是考虑使用以下代码来实现所需的功能

@{Html.renderaction("_TodayLevel","Controller");}

如果您对这两个视图没有任何控制器操作,则也可以考虑使用

@{Html.renderPartial("_yourViews");}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM