Backbone.js에서 메서드의 success/error
콜백에 관한 질문이 있습니다. 제가이 말을 처음 접했을 때, 제 질문은 단순하거나 비슷한 것처럼 보일 수 있습니다. 서버에 아무런 오류 (예를 들어, 예외)이있는 경우Backbone.js에서 오류 메시지를 얻으려면 어떻게해야합니까?
는 지금까지 내가 아는 한, 모델의 save()
또는 fetch()
방법은 success
을 발생합니다. 문제는 클라이언트 측에서 오류 유형을 얻으려면 서버에서 예외를 throw해야합니까? 내가 의미하는 바를 예를 들어 설명해 드리겠습니다.
예를 들어 앱용 새 사용자를 만드는 UI가 웹에 있습니다. 내 클라이언트 측이 다음과 같이합니다 :
var userView = Backbone.View.extend({
initialize:function(){ ... },
events: {
'click #sign_up': 'createAccount'
},
createAccount: function() {
login = $('#login').val();
password = $('#password').val();
var user = new User(); // User is a model
user.save({login: login, password: password},{
success: function(data) {
if (data != null) {
alert('success');
} else {
alert('fail');
}
},
error : function() {
alert('error');
}
}
});
따라서, 서버 사이드는 다음과 같습니다 나는 그에 따라 적절한 오류 메시지를 보낼 수있게되고 원하는 것은
@Controller
@RequestMapping("/users")
public class UsersController {
@RequestMapping(method = RequestMethod.POST)
public @ResponseBody User createUser(@RequestBody User user) throws Exception {
if (user == null || !user.isValid()) {
return null;// not valid - error message 1
}
if (userDao.getUserByLogin(user.getLogin()) != null) {
return null;// such user already exists! - error message 2
}
userDao.saveUser(user);
return user;
}
. null
을 반환하면 데이터 내에서 success
콜백이 요청을 보내기 전에 채워진 모델이됩니다. 예외가 발생하면 error
이 발생합니다. 이 시점에서, 내 요구를 충족시키기 위해 어떤 접근 방식을 취해야합니까?
잘 설명 된 답변에 감사드립니다. 나는 다른 것을 요구하고 싶다. 나는 그것이 화제가 될 수 있다는 것을 알고있다. 또는 나는 그것에 대해 또 다른 새로운 질문을 할 것이다. 그러나 여기서 그것이 적절하다고 생각했기 때문에 나는 물었다. 서버에서 응답 코드를 반환하려면 어떻게해야합니까? 나는 거기서 어떤 대답을 찾았지만 나의 prob를 해결할 수는 없었다. 나는 봄 3.0.6과 함께 일하고있다. 거기에 몇 가지 추가 코드를 넣으면 완벽한 대답이 될 것입니다. 저 또한 저를 도우십시오. – boburShox
불행히도 저는 봄에 대한 경험이 없습니다. 새로운 질문을 추가하는 것이 더 나을 것이다. – neebz