У меня есть модель, имеющая свойство URL. Когда я сохраняю модель методом «Сохранить», она отправляет запрос на сервер. Если связь прошла успешно, срабатывает метод success(), а если связь не удалась, срабатывает функция «ошибка». Но что, если нет проблем со связью, но когда сервер отправляет «сообщение о сбое» из-за некоторых проверок сервера или по другим причинам? Поскольку из-за проверки на стороне сервера (или других) модель не сохраняется на сервере. Таким образом, это не должно быть сохранено и в базовой модели. Что мне делать, чтобы модель не сохранялась, когда сервер отправляет «Ошибка обновления базы данных», и чтобы она сохранялась, когда я получаю «Успешно обновлено». Я отправляю следующий ответ с сервера:
$this->response(
array(
'model'=>$model,
'status'=>$status,
'metamodel'=>array(),
'message'=>$msg (either success or fail)(my custom message)
)
);
на стороне клиента я сохраняю вот так.
model.save(attr{
success:(model,res)->
// to do when communication success
error:(model,res)->
//to do when communication fails
})
Итак, как я могу проверить на основе сообщения или статуса, удалось ли серверу или нет? И как я могу заставить модель не сохранять или отменять изменения, когда сервер говорит «нет» (НЕ ВНУТРЕННЯЯ ОШИБКА СЕРВЕРА, моя пользовательская ошибка из-за проверок или по другим причинам)
Кроме того, как я могу использовать метод Backbone.Sync (пожалуйста, практический пример, связанный с моим кодом) и что он делает? (пожалуйста, четко укажите, является ли проблема с коммуникацией или пользовательским сообщением об ошибке или внутренней ошибкой сервера)
Я могу получить доступ к «статусу» и «сообщению» в методе «успех», но как я могу использовать их для отмены изменений в модели. Спасибо