2012-11-20 4 views
2

"저장"방법의 옵션 - 요청에 대한 다른 URL/경로를 전달할 수 있습니까?backbone.js에 옵션 추가 model.save()

모델의 기본 urlRot은 ->

urlRoot: "/users"가 그런 것을 할 수 있습니다 :

this.model.save({ 
      'userName': $('#userName').val(), 
      'password': $('#password').val()},{ 

      url: "https://stackoverflow.com/users/login", 

      success: function(model, response, options) { 

      }, 

그래서 요청,이 시간, 전송됩니다에 "/ 사용자/로그인 "하고"/ 사용자 "가 아닌가? the documentation에서

답변

3

:

urlmodel.url는()

모델의 자원 이 서버에있는 것 상대 URL를 돌려줍니다. 모델이 어딘가에 있으면 올바른 로직으로이 메소드를 대체하십시오. 의 URL을 생성합니다.이 모델은 인 경우 컬렉션의 일부가 아니므로 "/[collection.url]/[id]", "/ [urlRoot]/id"로 되돌아갑니다.

마치 자신의 url 기능을 모델에 제공 할 수있는 것처럼 보입니다.

예 :

var MyModel = Backbone.Model.extend({ 
    use_custom_url: false, 
    url: function() { 
     if (use_custom_url) { 
      return "https://stackoverflow.com/users/login"; 
     } else { 
      return Backbone.Model.prototype.url.apply(this); 
     } 
    } 
});