문제

사용 내선, 기본 ext.ajax get-request에 추가하십시오 _dc 매개 변수. 예를 들어

GET /ConnViewProcessing/?_dc=1263286227619

이 매개 변수를 제거하는 방법?

추신 : 응답을 수동으로 캐시해야합니다. ETag 그리고 If-None-Match.

도움이 되었습니까?

해결책

세트 disableCaching 거짓 옵션 :

Ext.Ajax.disableCaching = false;

다른 팁

EXT JS 4.1 사용 및 다음 코드를 추가 한 후 app.js,, _dc 매개 변수가 사라집니다.

// Disable _dc parameter

Ext.Loader.setConfig({
    disableCaching: false
});

// My App

Ext.application({

Sencha CMD 6.X로이를 달성하는 올바른 방법은 (글로벌) 스위치를 설정하는 것입니다. app.json (이러한 해킹 및 재정의는 모두 기능과 불필요하게 방해 할 수 있기 때문에 :

"loader": {
    "cache": true
},

그런 다음 실행하십시오 sencha app refresh, 응용 프로그램을 업데이트하기 위해 bootstrap.json.

또는 구성 할 수 있습니다 Ext.Loader (런타임) :

Ext.Loader.setConfig({disableCaching: false});

위쪽으로 스크롤하고 실제 질문을 읽을 때, Ext.Ajax (요청 당) :

Ext.Ajax.request({url: '/ConnViewProcessing', disableCaching: false});

결과 : 스크립트 요청에 더 이상 _DC 매개 변수가 없습니다.

@보다 Sencha CMD 6.X- 마이크로 로더.

Ext.Loader의 사용은 EXTJS 5에서 변경되었습니다.

EXTJS 5에서 캐싱은 비활성화 될 수 있습니다.

  • 일시적으로 "추가"?cache"URL의 끝까지
  • 1의 값으로 'Ext-Cache'라는 쿠키를 설정하여
  • 또는 파일을 편집하여 .sencha/app/Boot.js 그리고 설정 '_config.disableCaching'속성은 사실입니다 (동적 조회를 덮어 쓰기).

EXTJS 4.2를 사용하고 있지만 EXT JS 4.1 및 ON에서 작동해야합니다. 프록시에는 Nocache라는 속성이 있습니다.이를 False로 설정해야합니다.

Ext4.define('Server',{
    extend: 'Ext4.data.Model',
    fields: [
            {name: 'id'},
            {name: 'key'},
            {name: 'value'}
    ],
    proxy: {
            type: 'rest',
            url : 'yaddayaddayadda',
            noCache: false,
            reader : {
                    type: 'json'
            }

    }
});

내 코드가 말하는 이유는 Ext4입니다. 오래된 Ext JS 3X 코드를 4.2로 이동할 때 샌드 박스 모드를 사용하고 있기 때문입니다.

이것은 extjs 4.0.7에서 작동해야합니다.

Ext.Loader.config.disableCaching = false;

깃발 설정 disableCaching 에게 false (이중 부정 - 예!)에 ext.data.connection 트릭을해야합니다.

자세한 내용은 비활성화-선적 서류 비치.

(Ext의 상당수의 클래스는 옵션을 사용할 수있는 것처럼 보이므로 약간 멍청해야 할 수도 있습니다.)

Sencha Architect 3+에서 "DisableCaching : False"를 설정하려는 사람들을 위해 다음은 다음과 같습니다.

  1. Project Inspector 창에서 상단 노드 "응용 프로그램"을 선택하십시오.

  2. 그런 다음 객체 속성 등을 설정하는 아래의 "구성"창에서 "로더 구성"을 선택하십시오. 내 경우에는 아직 항목을 설정하지 않았으므로 오른쪽의 "+"를 클릭해야했습니다. . 위의 "프로젝트 검사관"창에 새로운 "loaderxx"객체가 생성됩니다. 내 경우 로더 25.

  3. 이제 "Project Inspector"창에서 새 개체를 선택하거나 새로운 "LoaderXX"(내 경우 Loader25) 옆의 오른쪽 화살표를 클릭하십시오. 이것은 당신을 객체의 속성으로 데려갑니다.

  4. "비활성화"항목을 선택 해제하십시오.

프로젝트를 저장하고 브라우저 창을 새로 고치고 Chrome에서 지속적인 중단 점 등을 즐기십시오.

내 프로젝트에서 Extjs 4.2.x에서 _dc를 비활성화 할 수있는 유일한 방법 :

Ext.define('Ext.data.Connection', {override:'Ext.data.Connection', disableCaching:false });
Ext.define('Ext.data.proxy.Server', {override:'Ext.data.proxy.Server', noCache:false });
Ext.define('Ext.data.JsonP', {override:'Ext.data.JsonP', disableCaching:false });

이것은 못 생겼지 만 다른 아이디어가 있습니까?

이것이 내가 이것을 한 방법입니다.

Ext.Ajax.request({
    url: url,
    disableCaching:false
});

Ext.js 위에 ext.net을 사용합니다. ext.js에 부두가 더 추가됩니다 ... DC = 매개 변수를 제거하려고했지만 언급 된 구성은 작동하지 않았습니다. 그래서 이것은 저의 우버 효과적이고 uber-dirty 솔루션입니다.

Ext.Date.now = function () { return ""; }

내가 볼 수있는 한, ext.date.now ()는 캐싱 로직에만 사용됩니다. 따라서 그것은 상대성 이론이어야합니다.

나는 캐시가 클라이언트쪽으로 파괴되기를 원했지만 서버 쪽은 내 자신의 캐싱 메커니즘 (PHP의 APC)을 사용하고있었습니다.

ext ajax 요청에 _dc를 떠난 다음 request_uri에서 제거한 다음 request_uri를 캐시 키의 기초로 사용했습니다.

나는 이것이 유용하다고 생각했다 : 쿼리 문자열에서 하나의 매개 변수를 제거하는 정규 표현식

Sencha CMD 아래에서 개발되면 이렇게 할 수 있습니다.

http://localhost:1841/?disableCacheBuster

아니면 그냥

http://localhost:1841/?cache
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top