XMLHttpRequest XML-Antwort Probleme mit jQuery 1.4.1, wie erzwingen, dass die Anfrage Antwort als Nur-Text verarbeitet werden?

8

Ich spiele gerade mit jQuery herum und versuche etwas, das einfach sein sollte, aber es funktioniert einfach nicht.

%Vor%

Das Snippet befindet sich in einer test.js-Datei und ist in einer test.html-Datei enthalten, die in Firefox (3.6) wie file: /// C: /test.html geöffnet wird und obwohl "Erfolg" angezeigt wird, sind die Daten leer und durch Firebug die Antwort für XML-Anzeigen:

%Vor%

Alternativ habe ich versucht,

hinzuzufügen %Vor%

hat keine Wirkung, das Ergebnis wird immer noch als xml verarbeitet (wahrscheinlich, weil die Antwort den Inhaltstyp hat: text / xml; charset = UTF-8).

Ich kann die Reaktionsergebnisse über Firebug sehen, wenn ich

einstelle %Vor%

aber da es nicht wirklich ein gültiges js-Skript ist, schlägt es einfach fehl, Firebug zeigt an:

%Vor%

Es wird "besser", wenn die obige Anfrage im Browser und durch "View Source" die XML-Datei kopiert, die hier validiert werden soll Ссылка zeigt "no errors found" an, warum funktioniert das nicht über xmlhttprequest?

Was mache ich falsch?

Wäre es möglich, die Antwort von xmlhttprequest irgendwie als text / plain zu erzwingen?

br, iges

P.S. Ich habe die vorgeschlagene dataType: "html" -Option müde (vergessen zu erwähnen, zunächst), aber die "html" funktioniert auch nicht und in Firebug kann ich den gleichen Fehler über das Parsen / moz-nullprincipal sehen.

Auch der Dienst, der die XML-Daten zur Verfügung stellt, wird von einer dritten Partei kontrolliert, auf die ich keinen Zugriff habe, entweder gibt es eine Möglichkeit, dies zu tun, oder ich muss meine Idee auf Wiedersehen küssen: (

    
iges 29.01.2010, 13:03
quelle

5 Antworten

5

Führen Sie diesen Code aus derselben Domäne aus? ( Ссылка )

Weil Sie nicht die Ajax-Aufrufe verwenden dürfen, um Daten von anderen Domains zu holen ... (es sei denn, Sie verwenden die JSONP- oder Script-Datentypen.)

  

Wenn Daten von fernen Servern abgerufen werden (was nur mit den Datentypen script oder jsonp möglich ist), ...

Eine Alternative wäre, dass jQuery eine lokale Datei anfordert, die die Daten serverseitig empfängt und sie an die Ajax-Anforderung weiterleitet.

zum Beispiel
php: Ссылка asp: Microsoft.XMLHTTP

    
Gaby aka G. Petrioli 29.01.2010 15:15
quelle
3

Was ist mit HTML?

%Vor%

Ссылка

  

"html": Behandle die Antwort als HTML   (Klartext); enthaltene Script-Tags sind   ausgewertet.

    
Thiago Belem 29.01.2010 13:07
quelle
1

Es heißt gleiche Herkunftsrichtlinien . Sie dürfen die Ajax-Aufrufe nicht verwenden, um Daten von anderen Domänen abzurufen, es sei denn, Sie verwenden die Datentypen jsonp oder script .

    
Pawan 30.11.2010 17:47
quelle
0

Dies sollte den Trick machen:

%Vor%

Angenommen, Sie haben eine HTML-Datei wie:

%Vor%

HINWEIS: Dies scheint in IE8 gut zu funktionieren, aber nicht so sehr in FF3.6

    
Bart 19.02.2010 21:44
quelle
-1

Doh '

hat die YQL-Abfrage nur versucht, um herauszufinden, dass robots.txt blockiert: (

    
iges 29.01.2010 19:44
quelle

Tags und Links