2015-06-14 3 views
0

Существует множество вопросов, которые имеют эту же проблему, но все те, которые я нашел, будут только рассказывать вам, как работает фактический javascript, а не маршрутизация такого рода вещей.Отправлять POST, когда пользователь попадает в нижнюю часть экрана?

Так что я немного потерял в настоящий момент попытку реализовать html и маршрутизацию бесконечной системы прокрутки, используя только Node.js, Express и Mongodb.

Я знаю, как делать проверки, когда пользователь попадает в нижнюю часть, и я знаю, что вам нужно иметь какой-то прослушиватель в маршруте app.post, который будет сообщать базе данных о добавлении данных. Но я не знаю, что делает «публикация», и как мне ее маршрутизировать.

Это просто прослушиватель onClick, который следит за тем, чтобы значение «отправить» было истинным? И когда пользователь попадает в нижнюю часть, это становится истинным, Express получает POST, загружает еще десять записей.

Я буквально не понимаю реальную концепцию ожидания значения события в файле маршрутизации, я думал, что вся точка разделения передней и задней части означает, что вы не можете дождаться, когда значение будет «истинным» в javascript и вернуть это.

Это довольно общий вопрос, который я думаю, и мой код, вероятно, не нужен.

Так что, если кто-то может дать достаточно широкое объяснение того, как я должен смотреть на все прослушивание событий и маршрутизацию для него, это очень помогло бы. Сейчас кажется невозможным.

ответ

1

"что делает 'проводки'"

Когда Форма получает представленный, это то, что делает 'POSTING'. «Отправить» - это действие, как вызов функции, а не просто логическое значение, которое просматривается как true или false.

<form method="POST" action="/url"> 
    <input name="name" value="value"> 
    <button>Submit</button> 
</form> 

Здесь, когда кнопка будет нажата, на сервер будет отправлен запрос POST.

app.post('/url', function(res, res, next){ 
    req.body //=> {name: 'value'} 
}); 

Является ли это просто слушатель OnClick, который наблюдает за "Submit" значение, чтобы быть правдой?

onClick событие событие. Слушатель - это функция, прикрепленная к ней, которая запускается, когда происходит это событие.

<button onClick="fn()"> Call `fn();` </button> 
function fn(){ 
    console.log('that button was pressed'); 
} 

Есть много таких событий. Также вы можете использовать onScroll, который запускается при прокрутке страницы. Это очень чувствительное событие, и оно срабатывает для самых маленьких колебаний в положениях прокрутки. Это может быть причиной того, что ваша форма публикуется много раз одновременно.


Так что я могу просто придерживаться функции example() в мой файл маршрутизации/сервер, а затем использовать <button onClick="example()">Call 'example()';</button>, а затем код example() в db.collection.find().limit(10), чтобы сделать возможным выдвинуть запросы к базе данных вокруг?

Нет, вы смешиваете клиентский и серверный код.

HTML-элементы, такие как <button>, и связанные с ними JavaScript, такие как onClick события, все находятся на стороне клиента, в браузере.

Код сервера, NodeJS, может взаимодействовать только с клиентом или отвечать на него по HTTP-запросам, например, POST /form.

Возможно, вам нужен AJAX, который в основном использует клиентский JavaScript для создания и обработки результатов вышеупомянутых запросов, сделанных на сервере.

+0

Поэтому я могу просто вставить пример функции() в файл маршрутизации/сервера, а затем использовать , а затем пример кода() на db.collection.find(). Limit (10), чтобы можно было нажимать запросы базы данных? – ARMATAV

+1

@ARMATAV checkout the edit – laggingreflex

+0

Gotcha! благодаря! – ARMATAV

Смежные вопросы