Vraag : PHP/AJAX: Het controleren om te zien indien is de geladen inhoud sinds laatste tijd veranderd

Ik heb een lijst die dynamisch gebruikend AJAX wordt geladen. Het controleert fundamenteel om te zien of is een nieuw dossier geupload. Als er een nieuw dossier is, wordt
die de lijst toont bijgewerkt. Ik gebruik JavaScript om te zien of is er een verschil tussen de inhoud in
en de inhoud van PHP. Het controleert om de 2 seconden. Als er een verschil is, heeft het de volledige nieuwe ingang geladen en benadrukt. Simple.

Now dit werkt normaal totaal fijn toen ik eenvoudige „

“ echo'ing. $row->file. „„.anchor („admin/dossier“. $row->id. “ /complete“, „Volledig“, „title= " voltooien““). „„.anchor („admin/dossier“. $row->id. “ /delete“, „schrappen“, „title= " het Dossier van de Schrapping““). „

“;

But wanneer ik een lijst weergalm, het schijnt te denken er een verschil is zelfs wanneer er niet zijn. Zo om de twee seconden, wordt het hoogtepunteffect geactiveerd. Maar ik kan niet berekenen waarom dat is. Waarom zou mijn enige

werken, maar anderzijds wanneer ik een lijst doe, het niet?

Here is mijn code:

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
als (ONGELDIGE $uploads ==):
	WEERGALM „GEEN NIEUW UPLOADT“;
anders:
	echo „“;
	foreach ($uploads als $row):
		echo „“ voor;
	endforeach;
	echo „
Dossier - noem UploadedDetailsDescriptionStatus
email. “ „> '. $row->name. „
“. $row->company. „
“. $row->phone. „
“. $row->description. „
“; endif;

Antwoord : PHP/AJAX: Het controleren om te zien indien is de geladen inhoud sinds laatste tijd veranderd

Vergelijken tegen HTML van browser kan lelijk zijn omdat browser de witte die ruimte of de markeringen in de gegevens kan manipuleren op het punt zijn teruggekeerd dat het aan DOM wordt toegevoegd.

In plaats daarvan kunt u de vorige waarde in een javascriptvariabele willen opslaan en tegen het vergelijken.  Aangezien dit zal zijn zou de zelfde waarde die toen was teruggekeerd het geen het formatteren veranderingen gebeuren in het moeten hebben.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
manuscript type= " tekst/javascript " >
$ (document) .ready (functie ()
{
	$.ajaxSetup ({geheim voorgeheugen: vals});  
	
	var loadUrl = "";  

	$ („#result“) .load (loadUrl);
	
        var cachedResult = "";
	var refreshId = setInterval (functie () {
		$.get (loadUrl, functie (resultaat) {
			als (resultaat! =  cachedResult)
			{
				$ („#result“) .html (resultaat);
				$ („#result“) .effect („hoogtepunt“, {}, 2000);
                                cachedResult = resultaat;
			}
		});
	}, 5000);
});  

Andere oplossingen  
 
programming4us programming4us