我的asp.net mvc中有以下视图,它显示了一个ajax-loading imag,我试图在启动jquery函数后隐藏如下: -
<div id= "geturl" data-url="@Url.Action("ListPackages", "Home")">
<h1>All Processes</h1>
<img id="tobehide" src="~/Content/ajax-loading2.gif" />
<ul id="products">
</ul>
然后是以下JavaScript文件: -
$(document).ready(function () {
$.ajax({
url: $('#geturl').data('url'),
type: 'GET',
cache: false,
success: function (result) {
$('#tobehide').hide();
$.each(result.data, function (key, val) {
var str = val.packageName;
$('<li/>', { text: str })
.appendTo($('#products'));
});
}
});
});
目前数据将被填充,但loading-imag将不会被hiden.so如何在java脚本开始执行时强制图像隐藏? 最诚挚的问候
答案 0 :(得分:2)
您的代码是正确的,应该可以正常使用!
尝试使用FireBug或Chrome开发人员工具查看您从ajax调用中获取的javascript错误。
如果仍然没有帮助,并且您希望隐藏图像,则在您正在使用的jquery ajax调用上使用“完整”回调。
$(document).ready(function () {
$.ajax({
url: $('#geturl').data('url'),
type: 'GET',
cache: false,
complete: function (result) {
$('#tobehide').hide();
$.each(result.data, function (key, val) {
var str = val.packageName;
$('<li/>', { text: str })
.appendTo($('#products'));
});
}
});
});
答案 1 :(得分:0)
应该可以正常工作。你的代码中没有错误兄弟。
尝试添加异步选项。将其设置为false。然后再试一次