다음은 지금까지 내가 가지고있는 것입니다 :Ajax 응답을 DOM에 주입하기 전에 어떻게 대응할 수 있습니까?
$(function() {
dataValModify('body');
$('body').bind('ajaxSuccess', function (e, xhr, settings) {
dataValModify(xhr.responseText);
});
});
function dataValModify(elem) {
// Code to modify elements within the response.
}
DOM에 주입되기 전에 어떻게 Ajax 응답을 받아서 수정할 수 있습니까? 이전에는 ajaxComplete
를 바인딩하고 삽입 후 DOM을 직접 수정했지만 대신 응답을 수정하고 싶습니다. Ajax 응답에서 요소를 찾고이를 사용하여 DOM을 수정하는 것은 많은 의미가 있다고 생각하지 않습니다. 내 기능에 xhr.responseText
를 보내어 나머지 부분에 수정 사항을 다시 적용하지 않도록합니다.이 부분은 이미 Ajax 호출 시간으로 수정되었을 것입니다. 또한, 거기에 xhr.responseText
보다 나은 뭔가가 있나요? xhr.responseHTML
을 사용할 수 없습니다.
편집 : 지금 MVC 부분보기를 반환하는 간단한 테스트 Ajax 호출을 사용하고 있습니다 :
$('#ajaxTest').load('<MVC Route>')
. 나는 그럴지도 모른다고 두려워했다! 문제는 내가 프레임 워크에서 작업 중이므로 개발자가 HTML을 수정해야하는 호출을하도록 요구할 수 없으며 "자동"이어야한다는 것입니다. 나는'ajaxComplete' 후에 DOM을 수정하여 그대로 작동 시켰지만 응답을 수정하는 것을 선호하지는 않습니다. 답변 주셔서 감사합니다! – Brandon