MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Изпратете данни от NodeJS обратно към същата html страница след изпращане на формуляр

Не можете да изпращате данни към HTML страница. HTML е статичен файлов формат и не може сам да получава данни. Сървър може, но не и HTML файл.

Това, което можете да направите обаче, е да прихванете вашата заявка за публикация от страна на клиента, да я изпратите на клиента с помощта на XHR и получаване обратно на данните от страната на клиента отново, след това направете каквото искате, когато скриптът получи datos . По принцип всичко се случва между JavaScript частта на страницата и Node сървъра, който получава POST данни и изпраща обратно datos .

Ето прост пример за това как можете да прихванете POST заявката от страна на клиента:

document.querySelector('form').onsubmit = evt => {

  // don't submit the form via the default HTTP redirect
  evt.preventDefault();
  
  // get the form values
  const formData = {
    name1: document.querySelector('input[name=name1]').value,
    name2: document.querySelector('input[name=name2]').value
  }
  console.log('formData:', formData);
  
  // send the form encoded in JSON to your server
  fetch('https://your-domain.com/path/to/api', {
    method: 'POST',
    headers: {'Content-Type': 'application/json'},
    body: JSON.stringify(formData),
  })
  
  // receive datos from the server
  .then(resp => resp.json())
  .then(datos => {/* do what you want here */})
  
  // catch potential errors
  .catch(err => console.log('an error happened: '+err));
  
}
<form>
  <input name="name1" value="value1">
  <input name="name2" value="value2">
  <button type="submit">Submit</button>
</form>

PS:Горният фрагмент ще се провали с мрежова грешка, защото присъства само скриптът от страна на клиента - нищо не се изпълнява на https://your-domain.com/path/to/api , но вече сте включили правилния сървърен код във вашия въпрос. Просто завършете сървърния скрипт чрез res.send(datos) .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Какъв е правилният начин да стартирате услуга mongod на linux / OS X?

  2. Как да получите списък с бази данни и колекции на mongodb от приложение ruby ​​on rails

  3. Пейджиране на базата на диапазон mongodb

  4. MongoParseError:Невалиден низ за връзка

  5. Как да получите множество документи, използвайки масив от MongoDb идентификатор?