2012-01-19 5 views
3

私はプログレスバーを使ってhtml-5アップローダを開発しようとしています。 ファイルの送受信を完了しましたが、進行状況バーは残ります。私は、ブラウザのコンソールでこれを入力すると、それは未定義私は、アップロード対象の手を取得するにはどうすればよいjavascript xhr.uploadは未定義です。アップロードの進行状況を追跡できません

var xhr = new XMLHttpRequest(); alert(xhr.upload); 

で応答

var xhr = new XMLHttpRequest(); 
xhr.upload.addEventListener("progress", function (evt) { ... 

すべての例では、のようなものを使用しています進歩を追跡できますか? 最新のChrome(v16)とFirefox(v9)でテストしました

+0

おっとにDajax/DajaxIceを使用するブロッカーです。 formatingについて叫ぶ。私の最初の投稿はここにあります。 – terjeto

+0

アラートは機能しますか?最初は値を返さないステートメントで、2番目は値を返さない関数呼び出しなので、コンソールはもちろん未定義を出力します。 –

+0

私はそれが以来動作するはずです:var xhr = new XMLHttpRequest();警告(xhr.send);とにかくxhr.uploadにバインドするとエラー "xhr.uploadは定義されていません" – terjeto

答えて

0

onprogressをそのまま設定してみてください。

xhr.upload.onprogress = function(evt){console.log('progress')}; 

あなたがしていたことをしてください。

コンソールで新しいxhrを作成するだけで動作します。アップロードがあります。あなたのコードで何か他のことが起こっています。

enter image description here

+0

私はコンソールを使用しています。 "xhr.upload is undefined"というエラーが返されます。これは、 "xhr = new XMLHttpRequest(); xhr.upload.onprogress = function(e){console.log(e)私は何が欠けていますか?その正確なコードはあなたに同じエラーを与えますか? – terjeto

+0

xhrを作成した後にxhr.uploadを試してください – hvgotcodes

+0

xhrオブジェクトに何かしたdajaxice djangoモジュールであることがわかりました。返信いただきありがとうございます。 – terjeto

1

これは

var request = new XMLHttpRequest(); 
request.addEventListener("progress", function(){console.log('progress')}); 
request.open("POST", "/", true); 
request.send(null); 
+0

エラーが見つかりました。別のブラウザー環境(新しいタブ)でコンソールを使用したとき、それは機能しました。私は明らかに、ネイティブxhrオブジェクトのいくつかのプロパティを破壊するpythonのDajaxiceライブラリであるというエラーを見つけました。助けてくれてありがとう、私に考えさせてくれた... :-) – terjeto

+0

JQuery xhrラッパーを使って同じ問題が発生しました。 –

+0

正常に動作します –

1

クロームコンソールで動作しているようです間違いを発見されました。 別のブラウザ環境(新しいタブ)でコンソールを使用したとき、それは機能しました。私は明らかに、ネイティブxhrオブジェクトのいくつかのプロパティを破壊するpythonのDajaxiceライブラリであるというエラーを見つけました。助けてくれてありがとうございました:-)

Note2-self:デバッグに使用するとコンソールが「クリーン」であるとは限りません。

関連する問題