Heim > Web-Frontend > js-Tutorial > Clevere Verwendung der beforeSend-Methode von Ajax in Jquery_jquery

Clevere Verwendung der beforeSend-Methode von Ajax in Jquery_jquery

WBOY
Freigeben: 2016-05-16 15:18:57
Original
1385 Leute haben es durchsucht

jQuery ist ein häufig verwendetes Open-Source-JS-Framework. In der $.ajax-Anfrage gibt es eine beforeSend-Methode, mit der einige Aktionen ausgeführt werden, bevor die Anfrage an den Server gesendet wird.

$.ajax({
  beforeSend: function(){
   // Handle the beforeSend event
  },
  complete: function(){
   // Handle the complete event
  }
  // ......
});
Nach dem Login kopieren

Duplikate von Daten verhindern
In der tatsächlichen Projektentwicklung klickt der Benutzer beim Senden eines Formulars häufig aufgrund des Netzwerks oder aus anderen Gründen auf die Schaltfläche „Senden“ und denkt fälschlicherweise, dass der Vorgang nicht erfolgreich ist, und wiederholt dann die Betätigung der Schaltfläche „Senden“ mehrmals Wenn die Seite keine entsprechende Verarbeitung durchführt, führt dies normalerweise dazu, dass mehrere dieselben Daten in die Datenbank eingefügt werden, was zu einer Zunahme schmutziger Daten führt. Um dieses Phänomen zu vermeiden, deaktivieren Sie die Schaltfläche „Senden“ in der Methode „beforeSend“ in der $.ajax-Anfrage, warten Sie, bis die Ajax-Anfrage abgeschlossen ist, und stellen Sie dann den verfügbaren Status der Schaltfläche wieder her.

Zum Beispiel:

// 提交表单数据到后台处理
$.ajax({
  type: "post",
  data: studentInfo,
  contentType: "application/json",
  url: "/Home/Submit",
  beforeSend: function () {
    // 禁用按钮防止重复提交
    $("#submit").attr({ disabled: "disabled" });
  },
  success: function (data) {
    if (data == "Success") {
      //清空输入框
      clearBox();
    }
  },
  complete: function () {
    $("#submit").removeAttr("disabled");
  },
  error: function (data) {
    console.info("error: " + data.responseText);
  }
});
Nach dem Login kopieren

Toast-Effekt simulieren
Wenn Ajax den Server auffordert, die Datenliste zu laden, fordert es zum Laden auf („Laden, bitte warten ...“),

$.ajax({
  type: "post",
  contentType: "application/json",
  url: "/Home/GetList",
  beforeSend: function () {
    $("loading").show();
  },
  success: function (data) {
    if (data == "Success") {
      // ...
    }
  },
  complete: function () {
    $("loading").hide();
  },
  error: function (data) {
    console.info("error: " + data.responseText);
  }
});
Nach dem Login kopieren

Die Methode beforeSend wird verwendet, um einige Verarbeitungsfunktionen hinzuzufügen, bevor eine Anfrage an den Server gesendet wird. Ich hoffe, dass dieser Artikel das Verständnis aller über die Methode beforeSend vertieft.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage