1. Ext.data.Store.load() 메소드는 비동기식입니다. 백그라운드 메소드가 실행되기 전에 값이 할당되고 저장소의 레코드가 저장되지 않기 때문에 다음 방법으로 얻은 reCount는 항상 0입니다. 아직 값을 얻지 못했습니다.
var testStore = new Ext.data.GroupingStore({
) 프록시 : new Ext.data.HttpProxy({
ㅋㅋㅋ |
'hstamcx' ,
totalProperty:
"results",
필드: ["id " ,
"값"]
})
function (){ ) Ext.QuickTips.init();
Ext.form.Field.prototype .msgtarget = 'side'
;
TestStore.load () var recount = teststore.getCount()
var
port = new
Ext.Viewport({
)
프레임 항목: [winKey] });
});2. 로드된 값을 처리하려면 콜백 함수에 후속 처리를 작성해야 합니다. Ext.onReady(function(){
) Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side'; 콜백: 함수(r, 옵션, 성공) {
:
내선. 뷰포트({
}) ;
});
이때 reCount 값을 얻을 수 있으며,
callback: function(r, options, Success)의 r은 스토어 로딩으로 찾은 데이터입니다.
하지만 여전히 문제가 있습니다. r의 데이터 값은 콜백 함수에서만 사용할 수 있으며 콜백 함수에서는 다른 외부 요소에 값을 할당할 방법이 없으며 전송할 방법도 없습니다. r 데이터를 외부로 3.js 페이지에서 백그라운드로 요청을 보내고 외부에서 백그라운드에서 반환된 데이터 값을 사용하려면 Ext.Ajax.request, 를 사용하면 됩니다. 요청 방식을 동기식으로 설정하고, 데이터 수신을 위한 변수는
Ext.Ajax.request
url: '
'
, 메소드에 정의해야 합니다. : '게시물'
,
~ ~ 성공:
기능
(응답) {
+ |
취소 모드 );백엔드 코드 예: 이 예는 대략적인 예이며 완전한 코드는 아닙니다
public
void
getData(
HttpServletResponse response)
{ TestData td = TestDataDao.getTestdata();
문자열 메시지 =
"{name:"
+ td .getName()+ ",id:" + d.getId( )+ "}"; ntWriter
out =response.getWriter();
위 내용은 ExtJ가 값을 비동기적으로 전송하거나 할당할 수 없는 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!