Как опубликовать результат в поле на html-странице через express.js? - PullRequest
0 голосов
/ 21 октября 2018

Я испытываю трудности, пытаясь заставить html и node express работать вместе.Я хочу, чтобы результат
{ "date": April 15, 2017", "unix": 1492214400 } был размещен внутри поля (заключенного в p) на странице html, а не открывался в новом окне.Вот что я пробовал до сих пор.Можете ли вы определить, что не так?Я ценю вашу помощь.

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 голосов
/ 21 октября 2018

В настоящее время вы получаете доступ к конечной точке узла с помощью window.open, который откроется в новом окне.Вы должны отправлять запрос, используя один из API-интерфейсов асинхронного запроса JavaScript.Обычно это будет 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);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...