Dojo 지원을 사용하고 있습니다. AjaxDojo - dojo.byId() 아약스 응답
function handleSubmit(evt, targetUrl, submitForm, updateDiv) {
dojo.stopEvent(evt);
dojo.xhrPost({
url: targetUrl,
handleAs: "text",
load: function(response){
updateDiv.innerHTML = response;
wireEvents();
return response;
},
form: submitForm,
error: function(response, ioArgs) {
console.error("HTTP status code: ", ioArgs.xhr.status);
return response;
}
});
}
서버의 응답에 필요한 것보다 많은 데이터가 있습니다. 나는이
load: function(response){
updateDiv.innerHTML = response;
wireEvents();
return response;
},
을
load: function(response){
updateDiv.innerHTML = dojo.byId('elemToExtract', response);
wireEvents();
return response;
},
로 대체 할 수 있기를 바란다. 내 페이지를 아약스 응답의 일부로 업데이트해야한다. dojo.byId 선택기를 응답 (컨텍스트 루트 또는 jQuery에서 찾은 것과 같은 응답으로 사용)을 사용하는 기능이 필요합니다.
이것을 어떻게 할 수 있습니까?
고맙습니다.
감사 이유를 모르겠어요 ... 조건이 false로 평가되는 것 같다, 런타임에 있습니다. 이 func가 dojo 1.3.2에서 사용 된 것 같습니다. 나는 현재 1.2.x를 사용하고있다. 나는이 vers에서 상대 func를 찾을 수 있는지 살펴볼 것입니다. – mickthompson
죄송합니다. 버전 1.3을 사용 중이며 이전 버전에서는 사용할 수 없다는 것을 알지 못했습니다. 어쨌든 낮은 수준의 DOM API를 사용하여 동일한 기술을 적용 할 수 있습니다. document.createElement ('div')로 요소를 만들고 innerHTML 속성을 수동으로 설정하면 dojo.byId를 사용할 수 있어야합니다. 요점은 일반 텍스트를 DOM을 사용하여 html로 변환하는 것입니다. –
dojo.create는 콘텐츠가있는 요소를 만드는 것 이상을 수행한다고 생각합니다. 결과를 byId의 두 번째 요소로 전달할 수 있으면 dojo.create는 dojo.byId ('elemToExtract', tempDiv)가 구문 분석 할 수있는 문서를 만들어야합니다. API는 그것이 문서 여야한다고 말합니다. 내 콘텐츠 (innerHTML) = 응답을 포함하는 div 요소로 tempDocument를 만들 수 있습니다. 문제는 내가 추가 한 요소는 텍스트 만 포함하고 dojo.byId가 구문 분석 할 수있는 구조를 가지고 있지 않다는 것입니다. – mickthompson