1
<script>
function SimpleMS() {
    $('#ImagePlaceHolder').append("<img src='../images/ajax-loader.gif' />");
    alert(1);
    $.ajax({
        async: false,
        url: '@Url.Action("SimpleMACSerial")'
                        + "?MACSerial=" + $('#SerialMAC').val()
                        ,
        dataType: "json",
        cache: false,
        success: function (data) {
            alert(2);                     
        },
        error: function (data) {
            alert('Error');
        }
    });
    alert(3);
}  </script>

次の結果が表示されます

「1」

「2」

"3"

最後に ajax-loader.gif が表示されます!

最初のアラートの前に表示されているはずです!

なぜこうなった?

ありがとう!

4

1 に答える 1

0

これは、ブラウザが JavaScript を処理する方法に関するものです。この例では、使用しているブラウザが最初にすべての JavaScript を実行し、その後、最初のアラートの前に存在していた新しいイメージ タグなど、ソースに加えられた変更の解釈を開始することがわかりますが、今回だけ取得されます。レンダリングされます。

于 2012-10-23T21:14:56.197 に答える