Я только начал исследовать mvc на стороне клиента javascript ( JavaScript MVC ). Все выглядело великолепно, пока я не получил форму отправки :) Просмотр части не будет делать это, это просто. Событие прикреплено в Controller, поэтому Controller является хорошим местом для проверки данных формы, но я не уверен, что хочу, чтобы мой контроллер знал конкретный адрес сервера (если бы отправил мою форму), поэтому было бы здорово иметь метод в Model, но тогда я не хочу, чтобы моя Модель знала о моей Форме (которая на самом деле является HTML-структурой ...).
Что мне не хватает в концепции MVC? Я также не уверен, что хочу сериализовать мою форму в Controller, а затем передать ее в качестве параметра моей модели. На данный момент единственная опция, которую я вижу, чтобы сделать модель независимой, - это иметь структуру JavaScript (сущность), которая будет заполнена контроллером (на основе данных формы) и будет передана методу Model для сохранения на сервере. Очень упрощенный код:
Info = {
name,
address,
// 15 more properties
...
}
InfoController = {
...
onFormSubmit: function() {
...
info.name = document.getElementById("info-name").value;
info.adress = document.getElementById("info-address").value;
...
InfoModel.save( info );
}
}
InfoModel = {
...
save: function( info ) {
// here some code to setialize info object
// send it to server
...
}
}
Но это делает мой код слишком сложным (по сравнению с простой серизлизацией форм некоторыми сторонними фреймворками и просто отправкой ..). Какой правильный выбор?