1

getJson の使用について質問があります。

私は getJson を呼び出しましたが、なぜそれが本来の目的を果たさなかったのかわかりませんでした。次に、getJson の後にアラートを配置したところ、getJson の前にアラートが実行されていることがわかりました。

次に、これを解決する唯一の方法は、次のように async false で $.ajax を使用することだと考えました

     $.ajax({
            url: url,
            dataType: 'json',
            async: false,
            success: function (data) {
                if (data == true) {                         
                    alert("Cannot continue.")
                    returnval = false;
                }
            }
        });

async falseを使用せずに最初にajax呼び出しを介してjsonを実行する必要がある場合に、この問題を解決する他の方法があるかどうか疑問に思っています。上記のコードが私の見解にあるMVC C#を使用していることに注意してください。

4

1 に答える 1

0

それは簡単です-非同期を削除します:false。これまでと同様に、呼び出し後に実行されるコードを成功ブロックに配置する必要があります。実行するコードが大量にある場合は、それを独自の関数に配置することができます。

var doThisOnResult = function(data) {
  alert('Data is here.');
};

次に、$。ajax呼び出しで、

success: doThisOnResult

関数を呼び出す代わりに変数として渡すため、その行でparensを使用したくないことに注意してください。

于 2012-10-19T05:09:27.683 に答える