2013-02-22 3 views
0

요청의 형태컬렉션 오기 백본 I 백본 컬렉션을

var Stuff = Backbone.Collection.extend({ 
    url: "stuff/" 
    model: StuffModel 
}); 

I는 ID 배열 가지고

VAR의 IDS는 = [1, 2, 3, 4] ;

워드 프로세서 당, 난과 같이 물건을 가져 전화 :

this.collection.fetch ({$ .PARAM ({IDS : exercise_ids.join를 ("")})}); 이 양식의 서버에 요청을 전송

:

/재료/IDS = 1, 2, 3, 4

이 작동,하지만 난 아니에요? 요청 양식에 만족합니다. 당신의 도움을 위해 나는 다음과 같은 형태로 요청을 보낼 수있는 방법 (사전에) (즉, 사용하지 쿼리 문자열)

/재료/1,2,3,4

감사가 있습니까 .

+0

당신은 당신의 백본 컬렉션에서 함수로 URL을 정의 할 수 있습니다. 그것을 잘못하여 복사 했습니까? 컬렉션에 대한 모든 코드를 게시 할 수 있습니까? –

답변

0

/stuff/[param]을 할 때 백엔드가 [param]을 ID로 간주한다고 가정하면 기능상 차이는 없습니다. 이러한 요청은 화면 뒤에서 이루어지며 브라우저의 주소 표시 줄에 영향을 미치지 않으므로 여기에는 아무런 문제가 없습니다. 당신이 당신의 URL을 포맷 할 경우 그 코드 (http://jsfiddle.net/EXwmp/1/ 참조) 작동하지 않을 수

var Stuff = Backbone.Collection.extend({ 

    initialize: function(models, options) { 
     this.ids = options.ids 

     //bind functions to 'this' so that you can access ids 
     _.bind(this, 'setIds', 'url'); 
    }, 

    setIds: function(ids) { 
     this.ids = ids; 
     //return 'this' to allow chaining 
     return this; 
    }, 

    url: function() { 
     return 'stuff/' + this.ids.join(',') 
    } 
}); 

myCollection.setIds([1,2,3,4]).fetch()