Привет всем у меня есть вопрос, как я могу показать результат асинхронного метода во внутреннем HTML?

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
    let y="";

 async function handlePress(){
 const URL = "https://ewserver.di.unimi.it/mobicomp/treest/register.php"
 console.log("Sending request")
const c= await fetch(URL);
return await c.json(); 
 }
function loadData(){
   this.handlePress().then(sids => {
    document.getElementById("#demo").innerHTML = sids;
  });
}
loadData()
  </script>
</body>
</html>

Во внутреннем HTML я хочу напечатать результат функции handlePress(). Как мне это сделать? на консоль, он говорит мне, что innerHTML пуст. Почему?

0
Elly 1 Окт 2022 в 20:52

1 ответ

Аргумент getElementById не допускает #

innerHTML должен быть строкой

let y = "";

async function handlePress() {
  const URL = "https://ewserver.di.unimi.it/mobicomp/treest/register.php"
  console.log("Sending request")
  const c = await fetch(URL);
  return await c.json();
}

function loadData() {
  this.handlePress().then(sids => {
    document.getElementById("demo").innerHTML = sids.sid
  });
}
loadData()
<p id="demo"></p>
0
Konrad Linkowski 1 Окт 2022 в 20:54
Благодарю вас. # Я видел, как он использовался в качестве аргумента в querySelector. например: document.querySelector ("# id"). это правильно? # Я также могу использовать его в качестве аргумента внутри других функций, кроме querySelector() ?
 – 
Elly
1 Окт 2022 в 21:01
1
Аргументы querySelector имитируют селекторы CSS, это также работает с querySelectorAll. querySelector намного новее, чем getElementById
 – 
Konrad Linkowski
1 Окт 2022 в 21:03