2013-10-30 4 views
0

AJAX 업로드를 처리하기 위해 객체 지향 코드를 사용하려고합니다. 코드를 실행하면 파일을보고 XMLHttpRequest 객체를 만들지 만 진행 이벤트가 발생하지는 않습니다. 내 코드의 전체 소스는 여기에서 찾을 수 있습니다 : 같은 객체의 다음일반 JS Ajax 업로드 진행 이벤트가 작동하지 않습니다.

var xhr = new XMLHttpRequest(); 

xhr.upload.addEventListener("progress", MyObj.trackProgress, false); 

xhr.open("POST", url, true); 
... 

, 다른 방법 :

trackProgress: function (event) { 
    console.log(event); 

    // stuff that should calculate percent 
} 

그러나 CONSOLE.LOG (여기

http://pastebin.com/89QawbS6은 조각이다 이벤트) 결코 발생하지 않습니다.

참고 사항 : jQuery는 훌륭하다는 것을 알고 있으며, 대신 12 개의 멋진 업로드 플러그인을 사용할 수 있습니다. 나는 수업이나 숙제를 위해 이것을하지 않고있다, 나는 그저 그 과정을 더 잘 이해하기를 원한다. 그래서 jQuery 플러그인을 대답으로 제공하는 것이 내가 원하는 것이 아닙니다. 나는 jQuery에 덜 의존하게하려고 노력하고있다.

+0

코드를 사용하여 진행 이벤트가 발생합니다. 이 브라우저에서 어떤 브라우저를 테스트하고 있습니까? 진행 이벤트는 모든 버전에서 지원되지 않습니다. 참조 : https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#Browser_Compatibility – peterfoldi

+0

@peterfoldi : Firefox 25. – Brian

+0

실제로 FF에서는 작동하지 않습니다. Chrome에서 작동합니다. – peterfoldi

답변

1

This FF bug might이 문제의 원인이됩니다. 그것은 MacOSX와 리눅스에서 또 다른 유사한 버그로보고되었습니다. 그게 중요한지는 모르겠지만 Windows에서 테스트했습니다. 나는 여전히 당신의 코드가 좋다고 믿는다.

+0

찾아 주셔서 감사합니다. – Brian

관련 문제