Avatar billede marrix Juniormester
06. oktober 2012 - 23:04 Der er 8 kommentarer og
1 løsning

Xml, jquery og ajax

Hej

Kan nogen fortælle mig, hvorfor jeg fint kan bruge denne xml:

http://ws.geonames.org/postalCodeSearch?postalcode=4000&maxRows=10&country=dk

Men ikke denne:

http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml

I det her:
$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml",
        //url: "http://ws.geonames.org/postalCodeSearch?postalcode=4000&maxRows=10&country=dk",
        dataType: "xml",
        success: function (xml) {
            alert("virker");
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert("1" + textStatus + "2" + XMLHttpRequest + "3" + errorThrown);
        }
    })
});

Kan godt se, at der er en forskel: Den ene ER en xml-fil (virker ikke), mens den anden url GENERERER en xml fil (virker fint).

Men hvorfor virker det med den ene og ikke den anden? Har prøvet flere forskellige xml-filer, men samme fejl hver gang.

Er med på det her problem med sikkerhed, ajax og crossdomain - men hvorfor virker den url, som GENERERER en xml-fil så? Kunne bedre forstå det, hvis ingen af dem virker ...

Hjælp ...

Venligste hilsener
M. Brix
Avatar billede arne_v Ekspert
07. oktober 2012 - 03:28 #1
Den foerste sender en response header:

Access-Control-Allow-Origin=

  • som goer at browseren tillader det.

    Den anden goer ikke.
    Avatar billede arne_v Ekspert
    07. oktober 2012 - 03:31 #2
    E slugte noget af posten

    Access-Control-Allow-Origin=forkantet parentes begynd stjerne firkant parentes slut
    Avatar billede marrix Juniormester
    07. oktober 2012 - 09:43 #3
    Tak for svar.

    Hvor - hvordan - ser jeg headeren  ... for en anden gangs skyld.

    Kan jeg gøre noget for også at kunne tilgå den af dem, som ikke sender en allow-header med? Jeg tænker ... det er vel tanken, at Nationalbanken har lagt deres xml ud for netop, at jeg kan bruge det ... Misforstår jeg det?
    Avatar billede arne_v Ekspert
    07. oktober 2012 - 14:54 #4
    Jeg skrev et lille program til at dumpe headers.

    Men browseren har informoationen saa enten kan man finde det et sted eller saa findes der sikkert et plugin til det.
    Avatar billede arne_v Ekspert
    07. oktober 2012 - 14:58 #5
    Nej - du kan ikke selv goere noget - det er en sikkerheds feature.

    Jo - du kan bede alle dine brugere om at disable deres browser security, men ............
    Avatar billede olebole Juniormester
    07. oktober 2012 - 15:57 #6
    <ole>

    Du kan bruge din server som proxy. Lad din server hente XML'en en eller et par gange om dagen og lægge data i din database. Så kan dine brugere forespørge din egen server med XHR

    /mvh
    </bole>
    Avatar billede marrix Juniormester
    08. oktober 2012 - 06:36 #7
    Ok ... mange tak til jer begge - det giver god mening.
    Arne, du var først med en forklaring, lægger du et svar?
    Avatar billede arne_v Ekspert
    08. oktober 2012 - 15:31 #8
    svar
    Avatar billede marrix Juniormester
    08. oktober 2012 - 19:21 #9
    Skønt at have et sted, hvor man kan få eksperthjælp ... mange tak for hjælpen.
    Avatar billede Ny bruger Nybegynder

    Din løsning...

    Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

    Loading billede Opret Preview

    Log ind eller opret profil

    Hov!

    For at kunne deltage på Computerworld Eksperten skal du være logget ind.

    Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

    Du kan også logge ind via nedenstående tjenester