如何通过express.js在HTML页面上的框中发布结果?

时间:2018-10-21 01:56:00

标签: html node.js express

我很难让html和node express一起工作。 我想要结果
{ "date": April 15, 2017", "unix": 1492214400 }  张贴在html页面的方框内(用p括起来),而不是在新窗口中打开。 到目前为止,这是我尝试过的。您能指出哪里出了问题吗? 感谢您的帮助。

enter code here

$("#submitDate").submit(function(i) {
  i.preventDefault();
  var convertInput = (!$("#inputDate").val()) ? $("#inputDate").attr("placeholder") : $("#inputDate").val()
  var tar = window.open(window.location.href + convertInput, "_blank");
  tar.focus();

});

1 个答案:

答案 0 :(得分:0)

当前,您正在使用window.open访问Node端点,它将在新窗口中打开。您应该使用JavaScript的异步请求API之一发送请求。通常,这些将是XMLHttpRequest或更新的Fetch API。看来您已经在使用jQuery或其他JS库,它们可能也有自己的发送HTTP请求的方法。

例如,遵循这些思路可以解决问题。

let submit = async function(data) {
    const response = await fetch(url);
    // data object containing data payload
    const data = await response.json();
    $(".borderBox").innerText = JSON.stringify(data); // or whatever data you need from the data object
}

为适应您的情况,我建议您进行一些更改,以使您的请求处理功能看起来更加内联:

$("#submitDate").submit(async function(i) {
  i.preventDefault();
  var convertInput = (!$("#inputDate").val()) ? $("#inputDate").attr("placeholder") : $("#inputDate").val()
  const response = await fetch(window.location.href + convertInput);
  const data = await response.json();
  document.getElementsByClassName('borderBox')[0].innerText = JSON.stringify(data);
});