I have the following. HTML
<div class="frmInput"> <select id="registrationTypeDropDown" class="select"> </select> </div>
Javascript
fetch('../svc/RegistrationForm.asmx/GetRegistrationType', { method: 'GET', credentials: 'same-origin', headers: { 'Content-Type': 'application/json' } }).then((response) => { types = response.json(); for (const [ID, Name] of Object.entries(types)) { console.log(ID, Name); options += '<option value="' + ID + '" text="' + Name + '" />'; } $('#registrationTypeDropDown').append(options); });
I’ve tried different ways of getting my results and nothing is working. When I run it it doesn’t even hit my for loop. I’d appreciate it if someone can point out a better way of doing this or what I’m doing wrong.
Advertisement
Answer
You are actually assigning Promise
to the types
variable try this. Also see using fetch api
fetch('../svc/RegistrationForm.asmx/GetRegistrationType', { method: 'GET', credentials: 'same-origin', headers: { 'Content-Type': 'application/json' } }).then(response => response.json()). // you are missing this line then((response) => { types = response; for (const [ID, Name] of Object.entries(types)) { console.log(ID, Name); options += '<option value="' + ID + '" text="' + Name + '" />'; } $('#registrationTypeDropDown').append(options); });