>  기사  >  웹 프론트엔드  >  ExtJ가 값을 비동기적으로 전송하거나 할당할 수 없는 문제를 해결하는 방법은 무엇입니까?

ExtJ가 값을 비동기적으로 전송하거나 할당할 수 없는 문제를 해결하는 방법은 무엇입니까?

零下一度
零下一度원래의
2017-06-26 09:49:041434검색
1. Ext.data.Store.load() 메소드는 비동기식입니다. 백그라운드 메소드가 실행되기 전에 값이 할당되고 저장소의 레코드가 저장되지 않기 때문에 다음 방법으로 얻은 reCount는 항상 0입니다. 아직 값을 얻지 못했습니다.
var testStore = new Ext.data.GroupingStore({
) 프록시 : new Ext.data.HttpProxy({
ㅋㅋㅋ |
'hstamcx' ,
totalProperty:
"results",
필드: ["id " ,
"값"]
})
});
Ext.onReady(
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, 옵션, 성공) {
:
내선. 뷰포트({
                                                                                      | 항목: [winKey]
}) ;
});
이때 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();
out.write(메시지);

위 내용은 ExtJ가 값을 비동기적으로 전송하거나 할당할 수 없는 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.