• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Rückgabewert von $.get

Shibb

New member
Hallo zusammen,

ich würde gerne eine URL aufrufen und die aufgerufene Seite in einem Objekt geliefert bekommen, welches ich abfragen kann wie bspw. die Links einer aktuellen Seite mit "document.links". Kann mir bitte jemand weiter helfen?
Code:
function httpGet( theUrl )
{
     var result = null;
     $.ajax({
        url: theUrl,
        type: 'get',
        dataType: 'html',
        async: false,
        success: function(data) {
            result = data;
        } 
     });
     return result;
}
 
Zuletzt bearbeitet:
Aber woher stammt die Info, man könne sich damit eine Seite laden, diese parsen und in ein Object speichern? Geht das damit?
 
Solange dem die SameOriginPolicy nicht im Weg steht, natürlich. Genauso wie ein "normaler" XMLHttpRequest...
 
Julian, soweit ich die Frage richtig verstanden habe will er die Elemente einer Seite in einem Objekt haben. Beim normalen Request hast du ja keinen Zugriff auf die Elemente sondern bekommst den Inhalt als großen String und müsstest diesen erst parsen. Oder bin ich da falsch informiert?
 
Hi.

ja DOM Parser ist eine Lösung. Ich habe noch ein Problem, in der Variablen result steht nicht der Inhalt den ich erwartet habe. D.h. ich rufe im browser die Seite A auf, dann passiert automatisch eine Weiteröleitung zur Seite B. jetzt hätte ich gerne in der Variablen result den Inhalt der Seite B.
 
Tut mir leid, ich verstehe dich nicht - kannst du das nochmal erklären?
 
Ich glaube, die Weiterleitung muss man selbst nachvollziehen. Das heißt, Seite A parsen und wenn eine Weiterleitung gefunden wird neuen Request zur Seite B machen. Dann dass das im Browser automatisch geht liegt ja daran, dass das für den Mensch so sein soll. Ein jQuery .get() schert sich darum vermutlich nicht. Es sei denn, es hätte einen Parameter nach dem Motto "Weiterleitungen folgen".
 
Ja ich hatte den Startpost diesbzgl. schon vor ein paar Tagen geändert. Aber ich bekomme nicht den redirect zurück.
 
Status 200. D.h. rufe ich die Seite mit der Funktion $.ajax auf erhalte ich eine andere Seite als wenn ich die Adresse im Browser aufrufe.
 
Status 200. D.h. rufe ich die Seite mit der Funktion $.ajax auf erhalte ich eine andere Seite als wenn ich die Adresse im Browser aufrufe.
Ja, dann hast es doch. Dann macht .ajax() keine Weiterleitung. Dann musst du die Rückgabe parsen und die Weiterleitung selbst finden und einen neuen Request an die andere URL auslösen.
Aber alles unter den Einschränkungen der SOP wohlgemerkt!!
 
Dann müsste es doch aber ein 301 sein. Mir ist etwas anderes aufgefallen ich bekomme nicht die vollständige Seite zurück. Woran könnte das liegen?
 
Dann müsste es doch aber ein 301 sein.
Nicht unbedingt. Wenn die da ein Gewurschtel mit JS eingebaut haben, um Robots fern zu halten läuft das mit anderen Techniken. Gib doch mal den Link.

Mir ist etwas anderes aufgefallen ich bekomme nicht die vollständige Seite zurück.
Und was konkret fehlt da? Das wird die selbe Ursache haben. Robots wie dich sind dort scheinbar garnicht gewollt.
 
Sry , ich hatte übersehen das mir alert nicht den kompletten String zurück gibt. Es handelt sich um einen Link der mit einem login verbunden ist.. Der download gestaltet sich jetzt noch etwas komplizierter. Ich habe eine Form mit dem Action-Link ".../14.11.008.pdf" dieser liefert mir einen Response (303)-> redirect im Header zu dem Dokument. Das ich zunächst mit get herangegangen bin hatte seinen Grund da es sich um rekursiv verschachtelte Links handelt, welche sich in vershciedenen Forms auf verschiedenen Seiten befanden.

Jetzt muss ich mir das noch mal anschauen, das zunächst die POST anfrage funktioniert und dann kommt das automatische downloaden des PDF's.
 
Zurück
Oben