如何在JavaScript中POST输入字段的值

wqsoz72f  于 2023-08-02  发布在  Java
关注(0)|答案(1)|浏览(92)

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

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

字符串
然后我想通过API调用POST输入字段的值:

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的输出是:
数组(1)
0:“此字段为必填字段。”
长度:1
API调用成功,但输入值出现问题。我做错了什么?

t3irkdon

t3irkdon1#

当你在window.onload上取值时,你总是传递相同的 * 元素的初始值 *,这可能是你不想要的。
你应该在全局范围内声明变量,并在 input 事件上更新变量:

变更:

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

字符串

收件人:

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

**或:**可直接设置当前值

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

相关问题