如何发布javascript中输入字段的值

问题描述 投票:0回答:1

首先,我尝试将输入值设置为变量

window.onload = function() {
  let inputValue = document.getElementById("myInput").value;
  return inputValue;
};

然后,我想通过API调用来输入输入字段的值:

function getPost(inputValue) {
  return fetch("https://rel.ink/api/links/", {
    method: "POST",
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      url: inputValue
    })
  }).then(res => res.json());
}

function tinyURL() {
  getPost()
    .then(data => {
      console.log("Success:", data);
    })
    .catch(error => {
      console.error("Error:", error);
    });
}

function addEventListener() {
  document.getElementById("postBtn").addEventListener("click", tinyURL);
}

但是,由于console.log输出为:,该值未通过:

url: Array(1)
0: "This field is required."
length: 1

API调用成功,但是输入值出了点问题。我在做什么错?

javascript api post null fetch
1个回答
0
投票

元素的初始值,这可能是您不希望的。

您应该在全局范围内声明变量,并在input事件上更新变量:

更改:

window.onload = function() { let inputValue = document.getElementById("myInput").value; return inputValue; };

收件人:

let inputValue; document.getElementById("myInput").addEventListener('input', function() inputValue = this.value; });

OR:
您可以直接设置当前值

body: JSON.stringify({ url: document.getElementById("myInput").value })

© www.soinside.com 2019 - 2024. All rights reserved.