Ajax url werkt niet

Status
Niet open voor verdere reacties.

wakelicious

Gebruiker
Lid geworden
8 apr 2012
Berichten
10
Hallo,

Ik ben bezig om een kleine webpagina te maken, zodat ik kan zien wanneer er series uit zijn.
Bierdopje.com heeft hier een mooie website voor, maar deze is veel te uitgebreid om op mijn telefoon te kijken.

Ik was dus bezig met een xml feed van Bierdopje, maar op de een of andere manier krijg ik hem niet werkend.
Als ik de hele xml opbouw opsla als een xml bestand, dan werkt het gewoon, maar als ik de link wil gebruiken, dan werkt het niet.
Iemand een idee wat ik fout doe?

$.ajax({
type: "GET",
url: "http://external.bierdopje.com/calendar/BDUSRC76BCFFF164645FBA16/xml/", //als hier 'note.xml' in staat, werkt het hele gebeuren wel
dataType: "xml",
success: parseXml
});
 
Simpel gezegd, dit gaat fout. En dan de oplossing: zie onder het Workarounds kopje ;). Volgens mij kan je je dataType gewoon naar jsonp zetten en zou 't prima moeten werken (behalve dat ik niet weet of je XML wel geparsed is, maargoed)!
 
Als ik hem naar jsonp zet, dan krijg ik de volgende error in de console: Uncaught SyntaxError: Unexpected token <

Edit: Ben erachter gekomen dat je dus geen xml mag gebruiken van een andere website. Op zich wel logisch, maar wel jammer. Nu heb ik een workaround gevonden, die er voor zorgt dat ik wel een externe xml kan laden. Maar dan alleen als het echt een .xml bestand is. Dus de link die ik wil gebruiken: http://external.bierdopje.com/calendar/BDUSRC76BCFFF164645FBA16/xml/ werkt nog steeds niet, omdat het geen fysiek bestand is. Iemand die weet hoe ik hier omheen kan?
 
Laatst bewerkt:
Ik weet dat dit geen nette manier is, maar 't laadt de XML in ieder geval :P Met jQuery kreeg ik 't helaas niet aan de praat...
[JS](function() {

var iframe = document.createElement("iframe");
iframe.src = "http://external.bierdopje.com/calendar/BDUSRC76BCFFF164645FBA16/xml/";
iframe.style.display = "none";
iframe.onload = function(e) {
var doc = iframe.contentDocument;
console.log(doc);
document.body.removeChild(iframe);
};
document.body.appendChild(iframe);

})();[/JS]
 
Helaas krijg ik dit niet werkend. Krijg de volgende error: Uncaught TypeError: Cannot call method 'appendChild' of null
 
Interesting.. Geen document.body in je browser. Werkt het als je dit aan het begin zet?
[JS]document.body = document.getElementsByTagName("body")[0];[/JS]
 
Je browser biedt nogal wat tegenstand zo te zien :P Ik weet zo ook 1-2-3 niet hoe dat opgelost zou moeten worden.. Misschien kun je toch beter verder zoeken naar een AJAX-oplossing ;)
 
omdat het geen fysiek bestand is.

Well, dat is raar, want het returned gewoon een XML file met de application/xml mime.



Anyway: wat een standaard XHR x-origin oplossing is is om een server-side bestandje de file te laten opvragen (eg. een PHP file_get_contents oid) en de php file dan ophalen met XHR.
 
Interesting.. Geen document.body in je browser.
:eek:
Hoe ziet de html van een in de browser opgevraagde pagina er dan uit (linkje)?
Resp, is het een valid html pagina?
O, of wordt het javascript met de function() uit reactie #4 opgeroepen in de <head>: voordat de <body> tag gerenderd is?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan