[英]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.