Talk about a pain in the ass to figure out but got it done eventually…
BACKEND CODE
import {fetch} from ‘wix-fetch’;
export function getAddresses(sessionpostcode) {
const url = ‘https://api.getaddress.io/find/’;
const key = ‘XXXXXXXXXX’;
let fullUrl = url + sessionpostcode + ‘?api-key=’ + key + ‘&expand=true’;
return fetch(fullUrl, {“method”: “get”})
.then( (httpResponse) => {
if (httpResponse.ok) {
let addresses = httpResponse.json();
//console.log(addresses);
return addresses;
}
})
}
PAGE CODE
import { getAddresses } from ‘backend/getaddressio’;
import {session} from ‘wix-storage’;
let sessionpostcode = session.getItem(“sessionpostcode”);
$w.onReady( function () {
getAddresses(sessionpostcode)
.then((getAddressesResults) => {
console.log(getAddressesResults);
const uniqueTitles = getUniqueTitles(getAddressesResults.addresses);
$w("#dropdown1").options = buildOptions(uniqueTitles);
});
function getUniqueTitles(items) {
const titlesOnly = items.map(item => item.line_1);
return [… new Set(titlesOnly)];
}
function buildOptions(uniqueList) {
return uniqueList.map(curr => {
return { label: curr, value: curr };
});
}
})