/ / Ajax If-Anweisungsproblem - javascript, ajax

Ajax If-Anweisungsproblem - javascript, ajax

Ich mache eine Website, wo je nachdem, wasSpalte sagt in der Datenbank das Javascript wird eine Vorhang Aufgabe (mit Ajax) durchführen. Das geht gut, aber in der if-Anweisung, wenn die Anforderungen erfüllt sind, wiederholt es es, da es im SetInterval ist. Es ist wahrscheinlich einfacher für mich, den Code einfach einzufügen und Ihnen die Chance zu geben, einen Blick darauf zu werfen es.

setInterval(function(){

$("#div").load("content.php");

if ($("#div:contains("hello")").length > 0) {
alert("Hello, world!");
}

}, 200);

Wie Sie oben sehen können, wird die Warnung für immer mit der Geschwindigkeit alarmiert, auf die das Intervall eingestellt ist. Tut mir leid, wenn ich unklar war, ich habe keine Ahnung, wie man Fragen in Foren richtig stellt.

Antworten:

0 für die Antwort № 1

Ich nehme an, Sie verwenden das SetInterval, um zu überprüfen, obDiv hat seinen Inhalt schon bekommen. Dies kann mit einem Callback (oder einem Versprechen) gelöst werden Die load-Methode von jQuery (die Sie verwenden) bietet eine Callback-Funktion "complete". Sehen http://api.jquery.com/load/

$("#div").load("content.php", {}, function(){alert(1)});

0 für die Antwort № 2

Ich denke, Sie haben ein mangelndes Verständnis dafür, wie Sie diese Aufgabe von Anfang an angehen können. Ich würde vorschlagen, dass Sie sich ansehen, wie asynchrone Operationen in Javascript funktionieren.

Was Sie hier erreichen wollen, erreichen Sie mit so etwas:

$.get("content.php", function( data ) {
$("div").html(data);
if (data.indexOf("hello") > -1) {
alert("Hello, world");
}
});