0

我在我的 asp.net mvc 中有以下视图,它显示了一个 ajax 加载图像,我在启动 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'));
            });
        }
    });
});

目前数据将被填充但加载图像不会被隐藏。所以当java脚本开始执行时我如何强制图像隐藏?此致

4

2 回答 2

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'));
            });
        }
    });
});
于 2012-10-15T07:27:08.007 回答
0

它应该可以正常工作。大哥你的代码没有错误。

尝试添加异步选项。将其设置为假。然后再试一次

于 2012-10-15T07:47:46.297 回答