У меня есть форму для заполнения пользователем. На стороне сервера я использую mailgun для отправки электронной почты после отправки формы.Call Materialize javascript от Node.js
При ошибке я хочу отобразить диалог тоста (Materialize.toast("Error", 2500);
в Javascript). Поскольку проверка ошибок происходит на стороне сервера, я не уверен, как вызвать этот метод.
Я использую <script>
внутри HTML, чтобы остановить обновление страницы после отправки, но я не мог понять, как обрабатывать ошибки в этом <script>
. Вот оно:
<script type="text/javascript">
$("#contact-form").submit(function(e) {
e.preventDefault(); // Prevents the page from refreshing
var $this = $(this); // `this` refers to the current form element
$.post(
$this.attr("action"), // Gets the URL to sent the post to
$this.serialize(), // Serializes form data in standard format
function(data) {
},
"json" // The format the response should be in
);
Materialize.toast("Toasty McToastface!", 1000);
$('#contact-form').trigger('reset');
});
</script>
Я ценю любую помощь.
Так что я мог бы использовать https://github.com/websockets/ws и при ошибке на стороне сервера, отправите '' error '', а затем клиент будет взаимодействовать с ним? – Nxt3
Да, это тоже сработает. Я не использовал эту библиотеку (ws), но я использовал socket.io в прошлом, и вы можете просто выпустить событие, когда что-то пойдет не так, поймайте его на стороне клиента и сделайте что-нибудь тогда. – Drown
Что происходит на стороне сервера? Я запутался в том, как использовать socket.io, поскольку я использую Express. Вот 'app.post()', где я обрабатываю отправку формы: https://codeshare.io/XfCCQ – Nxt3