0

asp.net mvc 内に次のビューがあり、次のように jquery 関数を開始した後に非表示にしようとしている ajax 読み込みの imag が表示されます。

<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 は非表示になりません。Java スクリプトの実行が開始されたときに Imag を強制的に非表示にするにはどうすればよいですか? よろしくお願いします

4

2 に答える 2

2

あなたのコードは正しく、正常に動作するはずです!
FireBug または Chrome 開発者ツールを使用して、ajax 呼び出しから返される JavaScript エラーを確認してください。
それでも問題が解決せず、画像を非表示にしたい場合は、使用している jquery ajax 呼び出しで「complete」コールバックを使用します。

$(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

正常に動作するはずです。あなたのコードブラザーに間違いはありません。

非同期オプションを追加してみてください。falseに設定します。そしてさらに試みる

于 2012-10-15T07:47:46.297 に答える