2011-01-17 2 views
0

Ich benutze Ajax, um einige RSS von anderen Seiten zu erhalten. Ajax muss RSS von 5 Seiten nehmen, analysieren und nur die neuesten Nachrichten anzeigen. Das Problem ist, dass während meiner Arbeit (Download und Parsing) meine Homepage nicht auf Benutzeraktionen reagiert (Klick auf einen Link oder so). Javascript ist asynchron, Ajax-Aufruf ist asynchron, aber das Problem ist sowieso vorhanden.Wie kontrolliert man die Bandbreite der Ajax-Anfrage?

Ich brauche einige Ideen - was wäre der beste und kürzeste Weg, um RSS von mehreren anderen Seiten zu nehmen, zu analysieren und nur die neuesten anzeigen, OHNE meine Homepage zu blockieren?

Antwort

1

Soweit ich weiß kann man nicht verhindern, dass eine AJAX-Anfrage mit allen Daten antwortet, noch kann ich sie (soweit ich weiß) als Stream behandeln.

Es gibt zwei Möglichkeiten, besser acheive, was Sie wollen:

  • Server-Cache, haben die Serveranfrage/die Daten analysieren, speichern und führen es auf der Website. Es kann seine gespeicherte Antwort aktualisieren alle n Minuten
  • Fragen Sie die Datenanbieter, um ihr Format zu ändern/bieten Ihnen ein Format, das Sie benötigen.

Option 1 ist wahrscheinlich am einfachsten zu implementieren und am schnellsten für Ihre Besucher. 5 Ajax-Anfragen werden immer sehr langsam sein.

+0

Option 1 scheint sehr interessant. Kannst du mir eine URL geben, die erklärt, wie es geht? – guest86

+0

Anstatt die Live-Daten zu Ajaxen, lassen Sie Ihren Server dies alle 5 Minuten tun und speichern Sie das Ergebnis in einer Datenbank. Haben Sie eine Seite, wie feed.aspx, die bei Bedarf das Ergebnis aus der Datenbank übernimmt und es nur ausgibt. Dann können Ihre Client-Seiten Ajax feed.aspx, und nicht 5 unabhängige Datenquellen. Sie brauchen nicht einmal Ajax, Sie können einfach die Seite direkt aus der Datenbank lesen. Dies setzt natürlich voraus, dass Sie Zugriff auf serverseitige Skripte einiger Beschreibung haben. –

+1

Ok, danke für deine Antwort, dank ihr habe ich neuen Ansatz gelernt;) – guest86