>웹 프론트엔드 >JS 튜토리얼 >jquery가 xmlHttpRequest 객체를 자동으로 재활용하지 않아 메모리 오버플로_jquery가 발생합니다.

jquery가 xmlHttpRequest 객체를 자동으로 재활용하지 않아 메모리 오버플로_jquery가 발생합니다.

WBOY
WBOY원래의
2016-05-16 17:52:441040검색

다행히도 저는 오늘 kuibono의 기사를 읽었습니다. 다음은 xmlHttpRequest 객체를 수동으로 재활용하기 위해 제공한 코드 조각입니다.
jquery의 모든 Ajax 요청은 이론적으로 xmlHttprequest 객체를 생성합니다. 긴 연결은 무한 재귀이며 요청 수가 매우 많습니다. 그러나 각 요청은 새로운 xmlhttprequest를 생성하고 jquery는 자동으로 리소스를 재활용하지 않으므로 메모리 오버플로가 발생합니다.

jquery API를 살펴보면 jquery에도 요청 완료 후(요청 성공 또는 실패 후 호출) 콜백 함수인 완전한 객체가 있다는 것을 알았습니다. XMLHttpRequest와 textStatus라는 두 개의 매개변수가 동시에 있습니다. 따라서 요청이 완료된 후 반환된 XMLHttprequest 객체만 수동으로 재활용하면 됩니다. 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다:

$.ajax({
url: "http://www.jb51.net",
data: { name: "xxxx" },
dataType: "xml",
success: function (data, textStatus) {
//뭔가를 하세요...
},
complete: function (XHR, TS) { XHR = null }
})
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.