2017-04-26 2 views
-1

En utilisant Node.js, j'ai un formulaire qui utilise twilio pour envoyer un SMS. Tout fonctionne bien en le testant avec mon téléphone.NODE.JS: Comment faire en sorte que l'écouteur d'événements JS frontaux intervienne lorsqu'il y a une erreur back-end sur le formulaire?

Cependant, je voudrais avoir un jeu d'animation (dans mon fichier JS frontal) si le formulaire de soumission rencontre une erreur dans le back-end. Plus précisément, l'API twilio possède un rappel qui prend une erreur en tant qu'argument avec la fonction sendMessage. Donc, je ne parle pas d'erreurs de validation, mais des erreurs réelles avec twilio ou la connexion. Comment puis-je avoir un écouteur d'événement dans mes fichiers frontaux js pour écouter quand il y a une erreur dans la fonction de rappel de soumettre le formulaire (dans le backend) afin que je puisse jouer une animation exprimant quelque chose s'est mal passé. Ou devrais-je ne pas utiliser d'écouteurs d'événements et le faire d'une autre manière?

Toute aide appréciée. Répond s'il te plait. Je vous remercie!

Répondre

1

Non, vous ne pouvez pas ajouter un écouteur d'événement dans le frontal pour une erreur dans l'extrémité arrière. Ce n'est pas possible.

Si vous utilisez un formulaire HTML sans AJAX:

Vous utilisez le formulaire HTML par défaut et en utilisant l'action et la méthode des attributs de soumettre les données de formulaire. Ensuite, le processus sera similaire à ce que vous faites avec la gestion des erreurs. Vous soumettez les données puis poursuivez votre interaction avec l'API Twillo. Si quelque chose échoue, vous redirigez l'utilisateur vers la page du formulaire avec le message d'erreur/l'animation d'erreur.

Si vous utilisez AJAX:

Maintenant que vous utilisez AJAX, vous devez avoir la capacité de gérer la réponse que vous obtenez à partir du serveur. Dans ce processus, lorsque l'utilisateur soumet des données, l'arrière-plan procède à l'interaction avec l'API Twillo. Si quelque chose échoue, vous renvoyez un 500 Internal Server Error avec le message d'erreur approprié. Dans le rappel de requête AJAX, vous vérifiez le code de réponse et le message d'erreur. Si quelque chose ne va pas, vous pouvez maintenant lire l'animation d'erreur/informer l'utilisateur de ce qui s'est passé.

Ressources: https://nodejs.org/api/synopsis.html Vérifiez l'exemple dans ce lien. Il est montré comment définir statuscode pour la réponse.

+0

Merci pour la réponse !! :) Oui, j'utilise AJAX pour empêcher le rechargement des pages, donc cela semble plus agréable pour le client. – koz

+0

Comment renvoyer une erreur interne du serveur 500? Et comment puis-je vérifier la réponse dans le rappel AJAX? – koz

+0

Qu'est-ce que vous utilisez pour votre serveur? Des cadres au-dessus de Node.js? Consultez la documentation pour cela, vous serez en mesure de comprendre à partir de cela. –