2012-05-23 4 views
0

백본에서 외부 엔트 포인트를 가리킬 때 어떻게해야합니까?외부 끝점을 가리 키도록 백본을 설정합니다.

예를 들어

, 내 응용 프로그램은 http://myapp.com

에서 실행 그리고 나는 내가 urlRoot 속성을 시도 followgin의 나머지 웹 서비스

http://external.com/api/rest/xxxx

을 사용하고 싶지만 작동하지 않는 것 그런 식으로

Sagan.FeatureModel = Backbone.Model.extend({ 
    defaults: { 
    name: "New Feature", 
    parent: "", 
    enabled: false 
    }, 
    urlRoot: 'http://localhost:9001/', 
    url: 'features' 
}); 

테스트 목적으로 응용 프로그램은 localhost : 9000에서 호스팅되며 externa localhost : 9001에서 웹 서비스. 9000 대신 세관 urlRoot 및 모델에 대한 url 속성을 설정하는 당신의 예에서

+0

어떻게'urlRoot'를 사용하고 있는지 보여주십시오. – fguillen

+0

@opensas 서비스가'모델 JSON' 또는'콜렉션 JSON'에 응답합니까? 컬렉션이라면 정확한 엔드 포인트 URL을 콜렉션 URL로 설정하십시오. – Deeptechtons

+0

은 urlRoot로 어떻게하려고하는지 보여주는 샘플을 추가했습니다. – opensas

답변

3

9001 :

백본은 여전히 ​​localhost를 가리키는 것으로 보인다.

설정 사용자 지정 url 속성은이 속성은 기본url 행위에 사용되는 때문에, 사용자 정의 urlRoot이 무시 만드는 Model.url documentation에 볼 것이다. 이 같은

urlRoot: "http://external.com/api/rest/features" 

그것은 만듭니다 경로 :

GET http://external.com/api/rest/features/1 

를 들어

당신은 당신의 모델이http://external.com/api/rest/features 단지 urlRoot에 추가 엔드 포인트를 사용하고 url 그대로를 유지하려면 id 1로 모델 가져 오기.

+0

고마워, 그게 효과가 ... 지금은 DELETE 대신 OPTIONS 요청 방법을 보냈지 만, 또 다른 문제이고, 아마도 또 다른 stackoverflow 질문이다 ;-) – opensas

+1

브라우저에서 시도하는 것은 다른 서버로부터의 액세스에 대한 서버 유효성 검사를 요청하는 것입니다 _도메인_. [CORS] (http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)를 검색하십시오. StackOverflow에서 많은 정보를 찾을 수있을 것입니다. 운!. – fguillen

관련 문제