TreePanel
의 ExtJS 4는 model
의 proxy
에 지정된 URL 끝에 이상한 매개 변수를 추가하고 있습니다. 첫 번째 매개 변수는 캐싱에 관한 것이므로 noCache: false
설정을 비활성화 할 수있었습니다.TreePanel - "root? node = root"와 같은 URL 수정을 비활성화하는 방법은 무엇입니까?
다른 매개 변수도 문제를 일으키고 있으며 "GET /servers/root?node=root HTTP/1.1" 200 777
과 같이 URL 끝에 {id}?node={id}
과 같은 형식으로 내용이 추가됩니다.
URL은 REST API의 주소입니다. 대부분의 경우 이러한 추가 매개 변수를 전송해도 괜찮지 만 더 복잡한 경우에는 처리 할 수 없거나 너무 구체적인 경우입니다. API의 로직에 추가되거나 (또는 무시되는) 이유가되어야합니다. 그리고 그것은 counter-MVC입니다.
나에게 적합하지 않은이 root?node=root
과 같은 매개 변수는 어떻게 비활성화 할 수 있습니까?
나는 당신의 문제에 대한 답을 모른다. 그러나 나는 전화하기 전에 프록시의'params'를 방해하려고 노력할 것이다. 각 매개 변수가 url에 추가되므로 원하지 않는 매개 변수를 제거하면 전송되지 않습니다. 이를 수행하는 정확한 지점은 구현에 따라 다르며 프록시로드를 무시해야 할 수도 있습니다. – adaskos
좋아요, 그래서 이것이 올바른 방향이라고 믿습니다. 그러나 'TreeStore'는 내가 지정한 모델에 의해 정의 된 프록시를 가지므로 어떻게 프록시의'params'를 수정할 수 있습니까? 모델에서도 그렇습니까? 왜냐하면 이것은 정말로'TreeStore'에 특화되어 있기 때문입니다. –
트리 저장소에서이 작업을 특별히 수행하지는 않았지만 한 번 기억하고 API와 일치하도록 일부를 제거하도록 변경했습니다. 세부 사항을 기억하지 못해 오래되었습니다. 프록시 ('buildUrl'?)를 재정의해야한다고 생각합니다. Sencha 포럼을 살펴보십시오. 이 작업을 수행하는 몇 가지 사용자 지정 프록시 (ODATA 검색)가 있습니다. 그것은 당신에게 약간의 지침을 줄 것이다. – adaskos