Fra dawa-autocomplete2 til Danadresse
Behold DAWA's autocomplete-widget, skift script-adressen og tilføj en domænelåst browsernøgle, så adressefeltet virker igen.
Mange sider brugte DAWA's widget dawa-autocomplete2 direkte fra dawa.aws.dk eller cdn.dataforsyningen.dk. De filer forsvandt, da DAWA lukkede 1. oktober 2026, og adressefeltet holdt op med at foreslå adresser.
Vi serverer den samme widget (version 1.1.0, MIT-licens) på de samme stier under api.danadresse.dk. Din initialiseringskode og din CSS kan blive, som de er. Du skifter domænet i <script src> og giver widgetten en nøgle.
1. Opret en browsernøgle
Nøglen står i sidens HTML, så alle besøgende kan se den. Brug derfor en nøgle, der er låst til dine domæner:
- Åbn Nøgler og opret en live-nøgle til websitet.
- Fold Tilladte domæner ud på nøglen og skriv dine domæner, fx
firma.dk, www.firma.dk.*.firma.dkdækker kun underdomæner, ikkefirma.dkselv.localhoster tilladt til udvikling. - Gem. En nøgle kan have op til 40 domæner.
En låst nøgle svarer kun, når browserens Origin (eller Referer) matcher et af domænerne. Hver besøgende kan lave 120 kald i minuttet, så én besøgende ikke kan bruge hele din kvote. Detaljerne står i Browsernøgler og tilladte domæner.
Bruger du en ulåst nøgle i en offentlig side, bliver den set fra mange IP-adresser. Det ligner en lækket nøgle, og den kan blive spærret (403 key_blocked).
2. Skift script-adressen
Erstat domænet og sæt nøglen på som ?key=:
<!-- Før --> <script src="https://dawa.aws.dk/js/autocomplete/dawa-autocomplete2.min.js"></script> <!-- Efter --> <script src="https://api.danadresse.dk/js/autocomplete/dawa-autocomplete2.min.js?key=dawa_live_din_browsernøgle"></script>
Disse stier virker:
| DAWA-sti | Danadresse |
|---|---|
dawa.aws.dk/js/autocomplete/dawa-autocomplete2.min.js | api.danadresse.dk/js/autocomplete/dawa-autocomplete2.min.js |
dawa.aws.dk/js/autocomplete/dawa-autocomplete2.js | api.danadresse.dk/js/autocomplete/dawa-autocomplete2.js |
cdn.dataforsyningen.dk/dawa/assets/dawa-autocomplete2/<version>/… | api.danadresse.dk/dawa/assets/dawa-autocomplete2/<version>/… |
| CSS | api.danadresse.dk/css/dawa-autocomplete2.css |
Alle versionsnumre på CDN-stien giver den samme 1.1.0-build. Widgettens options er uændrede siden 1.0.
Widgetten finder nøglen ét af disse steder, i denne rækkefølge: params.api_key, apiKey-option, data-api-key på script-tagget eller ?key= (eller ?api_key=) på script-adressen. Den sender den som api_key på hvert kald. ?key= kræver et klassisk <script>-tag; som ES-modul kan widgetten ikke læse sit eget tag, så brug apiKey i stedet.
3. Behold din initialisering
Koden, der kobler widgetten på dit felt, skal ikke ændres:
<link rel="stylesheet" href="https://api.danadresse.dk/css/dawa-autocomplete2.css"> <div class="autocomplete-container"> <input type="search" id="adresse" autocomplete="off"> </div> <script src="https://api.danadresse.dk/js/autocomplete/dawa-autocomplete2.min.js?key=dawa_live_din_browsernøgle"></script> <script> dawaAutocomplete.dawaAutocomplete(document.getElementById("adresse"), { debounce: 200, select: function (valgt) { // valgt.data.id er adressens UUID – gem den sammen med teksten document.getElementById("adresse-id").value = valgt.data.id; } }); </script> <input type="hidden" id="adresse-id" name="adresse_id">
Options, som widgetten understøtter: select, type (adresse, adgangsadresse eller vejnavn), adgangsadresserOnly, params (fx { kommunekode: "0101" } eller { postnr: "8000" }), fuzzy, minLength, debounce, id (forudfyld feltet med en gemt adresse), multiline og baseUrl. Filtrene i params (postnr, kommunekode) indsnævrer forslagene.
Tolerance over for stavefejl virker som i DAWA: widgetten sender fuzzy= som standard, hvilket slår den til, og fuzzy: false udelader parameteren, hvilket slår den fra.
Sæt debounce. Uden den laver widgetten ét kald pr. tastetryk. Med debounce: 200 venter den, til brugeren holder en kort pause.
Forudfyldning med id virker også med nøgle: vores build sender nøglen med på det kald, som den oprindelige widget lavede uden parametre.
4. Test det
Åbn siden, skriv et par bogstaver og kig i browserens udviklerværktøj under Network. Du skal se kald til https://api.danadresse.dk/autocomplete?…&api_key=… med status 200.
Det er det samme kald, som widgetten laver. Du kan prøve det fra terminalen:
curl -s "https://api.danadresse.dk/autocomplete?q=R%C3%A5dhuspladsen%201&type=adresse&caretpos=15&supplerendebynavn=true&stormodtagerpostnumre=true&multilinje=true&fuzzy=" \ -H "X-Api-Key: $DANADRESSE_API_KEY"
Tester du en domænelåst nøgle fra terminalen, skal du tilføje -H "Origin: https://firma.dk" med et af nøglens domæner. Ellers får du 403 origin_not_allowed.
Fejl, du kan møde:
| Status og kode | Betydning | Løsning |
|---|---|---|
401 missing_api_key | Widgetten fandt ingen nøgle | Tjek ?key= på script-adressen, eller brug apiKey |
401 invalid_api_key | Nøglen findes ikke eller er tilbagekaldt | Kopiér nøglen igen fra Nøgler |
403 origin_not_allowed | Sidens domæne er ikke på nøglens liste | Tilføj domænet under Tilladte domæner (husk både firma.dk og www.firma.dk) |
429 rate_limit_per_visitor | Én besøgende har lavet for mange kald i minuttet | Sæt debounce |
Når et kald fejler, skriver widgetten DAWA request failed i konsollen og prøver igen efter et halvt sekund. Ser du den linje gentage sig, så kig på statuskoden i Network.
Næste skridt
- Vil du hellere bruge vores egen widget? Se Autocomplete-widget i ren JavaScript.
- Skal du også flytte serverkald? Skift fra DAWA ved at ændre base-URL'en.
Relaterede guides
Markdown-kilde Fejl i guiden? Skriv til os API-reference (Swagger)