У меня есть сервер в node.js, который обрабатывает регистрацию у пользователей. Когда кто-то пытается зарегистрироваться, я сначала проверяю, существует ли уже введенная электронная почта в моей базе данных, а если нет, я отправляю ответ, говорящий, что это письмо уже используется.Отправка ответа и обработки узла.js на клиенте
Проблема заключается в том, что когда я отправляю ответ с response.write()
, когда браузер получает ответ, он заменяет всю веб-страницу текстом ответа, и я хочу использовать этот ответ для отображения сообщения рядом с формой в страница регистрации.
Я также хочу получить ответ с помощью прослушивателя событий Дарта, чтобы клиент знал, что письмо используется и может отображать сообщение. Мой код для создания запроса HTTP с Дартом заключается в следующем:
signupSubmit.onClick.listen((e) {
var req = new HttpRequest();
req.onReadyStateChange.listen((e) {
if (req.readyState == HttpRequest.DONE) {
print('Data submitted!');
}
});
req.open('POST', signupForm.action);
req.send(JSON.encode(serializeForm(signupForm)));
});
serializeForm(FormElement form) {
var data = {};
form.querySelectorAll('input,select').forEach((Element el) {
if (el is InputElement)
data[el.name] = el.value;
});
return data;
}
Так как я могу отправить ответ, который я могу обрабатывать в клиенте? И как я могу получить ответ сервера с Dart?
Я думаю, вы найдете решения вашей проблемы здесь http://stackoverflow.com/questions/11801516 или здесь http://stackoverflow.com/questions/20749740 –
Вот статьи по этой теме https://www.dartlang.org/docs/tutorials/forms/#submitting-a-form и http://blog.sethladd.com/2013/06/forms-http-servers- and-web-components.html –