wir wissen, dass nur synchrone Anfragen mit $ .ajax mit einer Option async gemacht werden: false Aber ich habe im Jquery Handbuch gesehen, dass "synchrone Anfragen den Browser vorübergehend blockieren können deaktivieren alle Aktionen, während die Anfrage aktiv ist ". Ich habe einige Fragen wie
Ich habe einige Antworten gesehen sagen, Callback() How can I get jQuery to perform a synchronous, rather than asynchronous, Ajax request? zu verwenden. Wie kann ich dies zu meiner Funktion implementieren.
In der folgenden Funktion, wenn die Anfrage fehlschlägt oder wenn die Antwort nicht zurückgibt Wie kann ich damit umgehen. Ich meine Kann ich "error:" oder so etwas verwenden. Wie kann ich diese Funktion verbessern efficently bedeuten mit i Rückruf und Fehlerbehandlung .Es wird gesagt, dass (wir nie Fehler und Erfolg Rückruf mit einer Anfrage haben können)
function empvalidate() {
var exists = false; // default return value is false
var empno = $("#empno").val();
if (empno != '') {
$.ajax({
url: "emp.php",
async: false,
dataType: "json",
data: {'param1': $("#param1").val(), 'empno': $("#empno").val()},
success: function (data) {
exists = data.status; // set status of existence to outer variable
}
});
}
return exists; // return actual value
}
Bitte bearbeiten Sie die Frage, um es klarer zu machen, weil dies sicher wie ein Duplikat aussieht. Was müssen Sie wissen, dass die von Ihnen verknüpfte Frage nicht beantwortet wird? –
@Jeff: Wie verbinde ich die Callback-Funktion mit dem obigen Code – Someone
Wenn ich nicht etwas falsch verstehe, ist Ihre 'Erfolg' -Funktion der Rückruf, über den sie sprechen (in den Antworten auf die verknüpfte Frage). –