해결책
세트 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 매개 변수가 없습니다.
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"를 설정하려는 사람들을 위해 다음은 다음과 같습니다.
Project Inspector 창에서 상단 노드 "응용 프로그램"을 선택하십시오.
그런 다음 객체 속성 등을 설정하는 아래의 "구성"창에서 "로더 구성"을 선택하십시오. 내 경우에는 아직 항목을 설정하지 않았으므로 오른쪽의 "+"를 클릭해야했습니다. . 위의 "프로젝트 검사관"창에 새로운 "loaderxx"객체가 생성됩니다. 내 경우 로더 25.
이제 "Project Inspector"창에서 새 개체를 선택하거나 새로운 "LoaderXX"(내 경우 Loader25) 옆의 오른쪽 화살표를 클릭하십시오. 이것은 당신을 객체의 속성으로 데려갑니다.
"비활성화"항목을 선택 해제하십시오.
프로젝트를 저장하고 브라우저 창을 새로 고치고 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