2

私のコードには次の関数があります。簡略版は次のとおりです。

$.ajax({
  url: $form.attr('action'),
  dataType: 'json',
  type: 'POST',
  data: $form.serializeArray(),
  success: function (json, textStatus, XMLHttpRequest) {
    // delay here
    alert("hello");
  }

遅延を導入できる方法はありますか。たとえば、上記のコードに 5 秒の遅延がありますか?

ここで // delay という言葉を、可能であれば遅延を与える何かに置き換える必要があることに注意してください。

4

4 に答える 4

6

setTimeout()匿名関数で使用できます。

setTimeout(function() { /* your code here */ }, 5000);

これにより、5 秒の遅延の後、その関数内でコードが実行されます。

于 2012-04-23T17:36:48.700 に答える
3

できますよ。

 $.ajax({
            url: $form.attr('action'),
            dataType: 'json',
            type: 'POST',
            data: $form.serializeArray(),
            success: function (json, textStatus, XMLHttpRequest) {
                  // delay here
                  setTimeout(function() { alert("hello"); }, 5000);
            });
于 2012-04-23T17:37:41.243 に答える
2

これを使用setTimeout()して、これを独自のコードに導入する方法は次のとおりです。

$.ajax({
  url: $form.attr('action'),
  dataType: 'json',
  type: 'POST',
  data: $form.serializeArray(),
  success: function (json, textStatus, XMLHttpRequest) {
    // save 'this' pointer in case you need it in the setTimeout() function
    // because it will be set to something different in the setTimeout() callback
    var self = this;
    setTimeout(function() {
        // execute whatever code you want here with a 5 second delay
        alert("hello");
    }, 5000) ;
  }
于 2012-04-23T17:38:56.393 に答える
1

setTimeoutメソッドを使用できます

アラートを遅らせたい場合は、使用するだけです

success: function (json, textStatus, XMLHttpRequest) {
                  // delay here
                  setTimeout(function(){alert("hello");}, 5000); // 5000 is in milliseconds
            }
于 2012-04-23T17:37:53.530 に答える